Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

var minhand = document.getElementById("minutehand");

var hourhand = document.getElementByldC'hourhand”);

// Установить в них SVG-атрибут для перемещения по циферблату

minhand.setAttribute("transform", "rotate(" + minangle + ",50,50)");

hourhand.setAttribute("transform", "rotate(" + hourangle + ”,50,50)");

// Обновлять
показания часов 1 раз в минуту setTimeout(updateTime, 60000);

}

</script>

<style>

/* Все следующие CSS-стили применяются к SVG-элементам, объявленным ниже */

#clock { /* общие стили для всех элементов часов */

stroke: black; /* черные линии */

stroke-linecap: round; /* с закругленными концами */

fill: #ееf; /* на светлом, голубовато-сером фоне */

}

#numbers { /* стиль отображения цифр на циферблате */

font-family: sans-serif;

font-size: 7pt;

font-weight: bold;

text-anchor: middle;

stroke: none; fill: black;

}

</style>

</head>

<body onload="updateTime">

<!-- viewBox - система координат, width и height - экранные размеры -->

<svg id="clock" viewBox="0 0 100 100” width="500" height="500">

<defs> <!-- Определить фильтр для рисования теней -->

<filter id="shadow" x="-50%" y="-50%" width="200%" height="200%">

<feGaussianBlur in="SourceAlpha" stdDeviation="1" result="blur" />

<fe0ffset in="blur" dx="1" dy="1" result="shadow" />

<feMerge>

<feMergeNode in="SourceGraphic"/xfeMergeNode in="shadow"/>

</feMerge>

</filter>

</defs>

<circle id="face" cx="50" cy="50" r="45"/> <!-- циферблат -->

<g id="ticks"> <!-- 12 часовых меток -->

<line x1='50' y1='5.000' x2='50.00‘ y2='10.00'/>

<line x1='72.50' y1='11.03' x2=’70.00' y2='15.36'/>

<1ine x1='88.97' y1='27.50' x2='84.64' y2='30.00'/>

<line x1='95.00' y1='50.00' x2='90.00' y2='50.00'/>

<line
х1 = ‘88. 97' у1 = '72. 50' х2='84.64' у2='70.00'/>

<line х1 = '72. 50' у 1 ='88. 97' х2='70.00' у2='84.64'/>

<line х1 = '50.00’ у 1 ='95.00' х2='50.00' у2='90.007>

<line х1 = '27.50' у1 = '88.97' х2='30.00' у2='84.64'/>

<line х1 = ' 11.03' у1 = '72. 50' х2=' 15.36' у2='70.00'/>

<line х1='5.000' у1='50.00' х2='10.00' у2='50.00'/>

<line х1='11.03' у1='27.50' х2='15.36' у2='30.00'/>

<line х1='27.50' у1='11.03' х2='30.00' у2='15.36/>

</g>

<g id="numbers"> <!-- Числа в основных направлениях -->

<text х="50" y=”18">12</text>

<text х="85" y="53">3</text>

<text х="50" y="88">6</text>

<text х="15" y="53">9</text>

</g>

<!-- Нарисовать стрелки, указывающие вверх. Они вращаются сценарием.
– ->

<g id=''hands" filter="url(#shadow)"> <!-- Добавить тени к стрелкам -->

<line id="hourhand" x1="50" у 1="50" х2="50" у2=''24"/>

<line id="minutehand" х1="50" у1="50" х2="50" у2="20”/>

</g>

</svg>

</body>

</html>

21.4. Создание графики с помощью элемента <canvas>

Элемент

<canvas>
не имеет собственного визуального представления, но он создает поверхность для рисования внутри документа и предоставляет сценариям на языке JavaScript мощные средства рисования. Элемент
<canvas>
стандартизован спецификацией HTML5, но существует дольше его. Впервые он был реализован компанией Apple в броузере Safari 1.3 и поддерживался броузерами Firefox, начиная с версии 1.5, и Opera, начиная с версии 9. Он также поддерживается всеми версиями Chrome. Элемент
<canvas>
не поддерживался броузером IE до версии IE9, но он с успехом имитировался в IE6, 7 и 8 с помощью свободно распространяемого проекта ExplorerCanvas, домашняя страница которого находится по адресу http://code.google.eom/p/explorercanvas/.

Поделиться с друзьями: