91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS怎么實現給不同元素設置不同的定時器

發布時間:2022-07-04 13:37:36 來源:億速云 閱讀:172 作者:iii 欄目:開發技術

這篇文章主要講解了“JS怎么實現給不同元素設置不同的定時器”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JS怎么實現給不同元素設置不同的定時器”吧!

案例效果:

JS怎么實現給不同元素設置不同的定時器

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

注意:需要給定時器單獨命名,如果都寫在同一個封裝函數里面的話,每次都會開辟一個定時器的空間,這樣就會造成資源浪費,所以直接采用給對象添加定時器屬性的方式來節約空間。同時要注意,在設置定時器之前要清除掉這個對象的定時器屬性,因為如果不清除的話,當連續按下按鈕的時候就會又開啟一個定時器這樣下面那個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>點擊這個按鈕span才移動</button>
    <div></div>
    <span>sy is sy</span>
    <script>
        // 動畫函數
        // obj代表是哪個對象,target代表移動的距離
        function move(obj, target) {
            // 當我們不斷的點擊按鈕,這個元素的速度會越來越快,因為開啟了太多的定時器
            // 解決方案就是 讓我們元素只有一個定時器執行
            // 先清除以前的定時器,只保留當前的一個定時器執行
            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>

感謝各位的閱讀,以上就是“JS怎么實現給不同元素設置不同的定時器”的內容了,經過本文的學習后,相信大家對JS怎么實現給不同元素設置不同的定時器這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

阿城市| 葫芦岛市| 新昌县| 咸丰县| 姜堰市| 容城县| 新晃| 商城县| 弋阳县| 大港区| 商都县| 剑河县| 太湖县| 镇原县| 开鲁县| 正蓝旗| 东台市| 平武县| 长兴县| 荥阳市| 建德市| 雅安市| 大丰市| 星子县| 临汾市| 醴陵市| 安庆市| 井冈山市| 吴江市| 册亨县| 牟定县| 大埔县| 濮阳县| 博客| 涪陵区| 团风县| 曲周县| 临沭县| 长兴县| 当阳市| 台江县|