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

首頁 > 開發 > HTML5 > 正文

基于HTML5+CSS3實現簡單的時鐘效果

2024-09-05 07:22:08
字體:
來源:轉載
供稿:網友

目的:

利用html5,css實現鐘擺效果

知識點:

1) 利用position/left/top和calc()實現元素的水平和垂直居中;

2) 利用CSS3的animation/transform/transform-origin屬性定義動畫;

3) 利用transform-origin實現旋轉原點的圓心調整

廢話不多說了,直接看代碼吧,具體代碼如下所示:

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title></title>    <style>        li{            list-style:none;        }        #box{            width: 400px;            height: 400px;            position: absolute;            top:calc(50% - 200px);            left:calc(50% - 200px);            border: 2px solid palegoldenrod;        }        #dial{            width: 200px;            height: 200px;            position: absolute;            top:calc(50% - 100px);            left:calc(50% - 100px);            border: 2px solid cyan;            border-radius: 50%;        }           .scaleIndex{            width: 4px;            height: 12px;            position: absolute;            top: 0;            left: calc(50% - 2px);            background-color: gray;            transform-origin: 2px 100px;        }        .angle30{transform : rotate(30deg);}        .angle60{transform : rotate(60deg);}        .angle90{transform : rotate(90deg);}        .angle120{transform : rotate(120deg);}        .angle150{transform : rotate(150deg);}        .angle180{transform : rotate(180deg);}        .angle210{transform : rotate(210deg);}        .angle240{transform : rotate(240deg);}        .angle270{transform : rotate(270deg);}        .angle300{transform : rotate(300deg);}        .angle330{transform : rotate(330deg);}        #fixPoint{            width: 10px;            height: 10px;            position: absolute;            top:calc(50% - 5px);            left:calc(50% - 5px);            background-color: cadetblue;            border-radius: 50%;        }        #hourHand{            width: 6px;            height: 70px;            position:absolute;            top: 40px;            left: calc(50% - 3px);            background-color: darkblue;            transform-origin: 50% 60px;        }        #minuteHand{            width: 4px;            height: 75px;            position:absolute;            top: 35px;            left: calc(50% - 2px);            background-color: yellow;            transform-origin: 50% 65px;        }        #secondHand{            width: 2px;            height: 90px;            position:absolute;            top: 20px;            left: calc(50% - 1px);            background-color: red;            transform-origin: 50% 80px;        }    </style></head><body>    <div id = "box">            <div id = 'dial'>                <ul id = "scale">                    <li class = "scaleIndex"></li>                    <li class = "scaleIndex angle30"></li>                    <li class = "scaleIndex angle60"></li>                    <li class = "scaleIndex angle90"></li>                    <li class = "scaleIndex angle120"></li>                    <li class = "scaleIndex angle150"></li>                    <li class = "scaleIndex angle180"></li>                    <li class = "scaleIndex angle210"></li>                    <li class = "scaleIndex angle240"></li>                    <li class = "scaleIndex angle270"></li>                    <li class = "scaleIndex angle300"></li>                    <li class = "scaleIndex angle330"></li>                </ul>                <div id = "fixPoint"></div>                <div id = "hourHand"></div>                <div id = "minuteHand"></div>                <div id = "secondHand"></div>            </div>        </div><script type = 'text/javascript' src = 'js/jquery-3.2.1.js'></script><script type = "text/javascript">window.onload = function(){            var hourHand = document.getElementById('hourHand');            var minuteHand = document.getElementById('minuteHand');            var secondHand = document.getElementById('secondHand');setInterval(function(){                    var currentTime = new Date();                    var hourValue = currentTime.getHours();                    var hourAngle = hourValue / 24 * 360 + 'deg';                    var minuteValue = currentTime.getMinutes();                    var minuteAngle = minuteValue / 60 * 360 + 'deg';                    var secondValue = currentTime.getSeconds();                    var secondAngle = secondValue / 60 * 360 + 'deg';                    console.log(hourAngle);// 方法一:利用jquery的css()增加屬性var cmdHour = 'rotate('+ hourAngle +')';$('#hourHand').css({transform:'rotate('+ hourAngle +')'});var cmdMinute = 'rotate('+ minuteAngle +')';$('#minuteHand').css({transform:cmdMinute});var cmdSecond = 'rotate('+ secondAngle +')';$('#secondHand').css({transform:cmdSecond});// 方法二:利用DOM元素的style屬性設置//      hourHand.style.transform = 'rotate('+ hourAngle + ')';//      minuteHand.style.transform = 'rotate('+ minuteAngle + ')';//      secondHand.style.transform = 'rotate('+ secondAngle + ')';  },1000);}    </script></body></html>

總結

以上所述是小編給大家介紹的基于HTML5+CSS3實現簡單的時鐘效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博野县| 酉阳| 南澳县| 诸城市| 萍乡市| 买车| 紫阳县| 湖南省| 无锡市| 洛扎县| 玉环县| 尤溪县| 彭山县| 元谋县| 迁西县| 福州市| 白城市| 衡东县| 黔南| 阿合奇县| 孙吴县| 南澳县| 双鸭山市| 西藏| 金乡县| 英超| 达孜县| 东乌珠穆沁旗| 新田县| 册亨县| 娱乐| 甘泉县| 台北市| 松桃| 万源市| 江安县| 巴中市| 渝中区| 杭锦后旗| 勐海县| 小金县|