最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)給不同元素設(shè)置不同的定時(shí)器

 更新時(shí)間:2022年07月04日 10:56:28   作者:setTimeout()  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)給不同元素設(shè)置不同的定時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)給不同元素設(shè)置不同的定時(shí)器,供大家參考,具體內(nèi)容如下

案例效果:

上面的紫色盒子打開頁面會自己移動到300px,點(diǎn)擊上面的按鈕,粉色的span才會移動,并且移動到200px。

注意:需要給定時(shí)器單獨(dú)命名,如果都寫在同一個(gè)封裝函數(shù)里面的話,每次都會開辟一個(gè)定時(shí)器的空間,這樣就會造成資源浪費(fèi),所以直接采用給對象添加定時(shí)器屬性的方式來節(jié)約空間。同時(shí)要注意,在設(shè)置定時(shí)器之前要清除掉這個(gè)對象的定時(shí)器屬性,因?yàn)槿绻磺宄脑?,?dāng)連續(xù)按下按鈕的時(shí)候就會又開啟一個(gè)定時(shí)器這樣下面那個(gè)span就會越跑越快。

完整代碼如下:

<!DOCTYPE html>
<html lang="en">
?
<head>
? ? <meta charset="UTF-8">
? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">
? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">
? ? <title>Document</title>
? ? <style>
? ? ? ? div {
? ? ? ? ? ? position: absolute;
? ? ? ? ? ? left: 0;
? ? ? ? ? ? top: 50px;
? ? ? ? ? ? width: 200px;
? ? ? ? ? ? height: 200px;
? ? ? ? ? ? background-color: violet;
? ? ? ? }
? ? ? ??
? ? ? ? span {
? ? ? ? ? ? position: absolute;
? ? ? ? ? ? left: 0;
? ? ? ? ? ? top: 270px;
? ? ? ? ? ? display: block;
? ? ? ? ? ? width: 300px;
? ? ? ? ? ? height: 300px;
? ? ? ? ? ? background-color: pink;
? ? ? ? }
? ? </style>
?
</head>
?
<body>
? ? <button>點(diǎn)擊這個(gè)按鈕span才移動</button>
? ? <div></div>
? ? <span>sy is sy</span>
? ? <script>
? ? ? ? // 動畫函數(shù)
? ? ? ? // obj代表是哪個(gè)對象,target代表移動的距離
? ? ? ? function move(obj, target) {
? ? ? ? ? ? // 當(dāng)我們不斷的點(diǎn)擊按鈕,這個(gè)元素的速度會越來越快,因?yàn)殚_啟了太多的定時(shí)器
? ? ? ? ? ? // 解決方案就是 讓我們元素只有一個(gè)定時(shí)器執(zhí)行
? ? ? ? ? ? // 先清除以前的定時(shí)器,只保留當(dāng)前的一個(gè)定時(shí)器執(zhí)行
? ? ? ? ? ? clearInterval(obj.timer);
? ? ? ? ? ? obj.timer = window.setInterval(function() {
? ? ? ? ? ? ? ? if (obj.offsetLeft >= target) {
? ? ? ? ? ? ? ? ? ? window.clearInterval(obj.timer);
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? obj.style.left = obj.offsetLeft + 1 + 'px';
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }, 30);
? ? ? ? }
?
? ? ? ? var div = document.querySelector('div')
? ? ? ? var span = document.querySelector('span')
? ? ? ? var btn = document.querySelector('button')
? ? ? ? move(div, 300);
?
? ? ? ? btn.addEventListener('click', function() {
? ? ? ? ? ? move(span, 200);
? ? ? ? })
? ? </script>
</body>
?
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

嵊泗县| 讷河市| 宁陵县| 托里县| 项城市| 库车县| 万源市| 长治县| 孟州市| 中西区| 安庆市| 潜江市| 双柏县| 苗栗市| 吴忠市| 太保市| 会泽县| 宁阳县| 安阳市| 肇庆市| 深水埗区| 集安市| 沈阳市| 长武县| 青阳县| 北川| 枣阳市| 名山县| 乐都县| 旺苍县| 遵义市| 离岛区| 白沙| 洛扎县| 澄江县| 呼伦贝尔市| 伊川县| 抚顺县| 马山县| 礼泉县| 邵阳市|