国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

SVG實現時鐘效果

2024-05-06 15:32:40
字體:
來源:轉載
供稿:網友

本文實例為大家分享了SVG實現時鐘效果的具體代碼,供大家參考,具體內容如下

<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title></title> <style>  * {   margin: 0;  } </style></head><body><svg width="400" height="400"> <title>SVG Analog Clock</title> <circle id="face" cx="125" cy="125" r="100"     style="fill: #f1f1f1; stroke: #000;"></circle> <g id="ticks" transform="translate(125, 125)">  <path id="triangle" d="M95 0 L 100 -5 L 100 5 Z"     transform="rotate(360)"></path> </g> <g id="hands">  <path id="hour" d="M 125 125 V 75"     style="fill: none; stroke: black; stroke-width: 6"     transform="rotate(0)"></path>  <path id="minute" d="M 125 125 V 50"     style="fill: none; stroke: black; stroke-width: 4"     transform="rotate(0)"></path>  <path id="second" d="M 125 125 Q 100 100 125 80 T 125 40 V 30"     style="fill: none; stroke: #f00; stroke-width: 2"     transform="rotate(0)"></path> </g> <g id="knob" transform="translate(125, 125)">  <circle cx="0" cy="0" r="6" style="fill: #333;"></circle> </g></svg><script> var svgns = "http://www.w3.org/2000/svg"; var face = document.getElementById("face"),   ticks = document.getElementById("ticks"),   triangle = document.getElementById("triangle"),   txt = document.getElementById("txt"); for (var i = 0; i < 11; i++) {  var temp_triangle = triangle.cloneNode(true);  var angle = i * 30 + 30;  temp_triangle.setAttribute("transform", "rotate(" + angle + ")");  ticks.appendChild(temp_triangle);  ticks.setAttribute("transform", "translate(125, 125), rotate(-90)"); } var hourHand = document.getElementById("hour"),   minuteHand = document.getElementById("minute"),   secondHand = document.getElementById("second"); var hourTransform, minuteTransform, secondTransform; var secPer12Hours = 60 * 60 * 12,   secPerHour = 60 * 60,   secPerMinute = 60; (function init() {  hourTransform = hourHand.transform.baseVal.getItem(0);  minuteTransform = minuteHand.transform.baseVal.getItem(0);  secondTransform = secondHand.transform.baseVal.getItem(0);  updateClock(); })() function updateClock() {  var date = new Date();  var sec = date.getMilliseconds() / 1000 +    date.getSeconds() +    date.getMinutes() * 60 +    date.getHours() * 60 * 60;  var hourAngle = (sec % secPer12Hours) * 360 / secPer12Hours,    minuteAngle = (sec % secPerHour) * 360 / secPerHour,    secondAngle = (sec % secPerMinute) * 360 / secPerMinute;  hourTransform.setRotate(hourAngle, 125, 125);  minuteTransform.setRotate(minuteAngle, 125, 125);  secondTransform.setRotate(secondAngle, 125, 125);  window.requestAnimationFrame(updateClock); }</script></body></html>

瀏覽器需要支持:requestAnimationFrame
有關requestAnimationFrame的相關知識請自行查閱

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乌苏市| 金门县| 固安县| 新建县| 安仁县| 临颍县| 鹤峰县| 绥德县| 大兴区| 永胜县| 饶阳县| 和政县| 肃宁县| 甘洛县| 镇远县| 乳山市| 怀化市| 大宁县| 哈巴河县| 宁南县| 铁力市| 绥棱县| 贵阳市| 临沧市| 和田市| 应用必备| 睢宁县| 宁化县| 兰考县| 眉山市| 巴中市| 定南县| 故城县| 东乡族自治县| 南城县| 绿春县| 文昌市| 赤水市| 合阳县| 皮山县| 绿春县|