亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

JS如何實現添加緩動畫

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

這篇文章主要介紹“JS如何實現添加緩動畫”,在日常操作中,相信很多人在JS如何實現添加緩動畫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JS如何實現添加緩動畫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

需要實現的效果:點擊移動到600按鈕之后下面的div會由快到慢移動到600px,點擊移動到800之后又會移動到800px,又點擊移動600的時候會倒回去移動到600px。

JS如何實現添加緩動畫

首先需要實現第一個功能:

1.緩動畫實現,緩動畫實現思路如下:

JS如何實現添加緩動畫

2.需要避免小數的出現,如果直接將上面的公式作為距離的話會出現小數,如果移動的距離是正數的話需要向上取整,如果移動的距離是負數(比如由800px移動到600px)的話需要向下取整。

完整代碼:

<!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>緩動畫</title>
    <style>
        div {
            position: absolute;
            top: 50px;
            left: 0px;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
    <script>
        window.addEventListener('load', function() {
            function move(obj, target, callback) {
                window.clearInterval(obj.timer);
                obj.timer = window.setInterval(function() {
                    // 把步長值改為整數,不要出現小數的情況 往上取整
 
                    var step = (target - obj.offsetLeft) / 10;
                    step = step > 0 ? Math.ceil(step) : Math.floor(step);
                    // 回調函數寫在清除定時器里面
                    if (obj.offsetLeft >= target) {
                        window.clearInterval(obj.timer);
                        if (callback) {
                            callback();
                        }
                    } else {
                        obj.style.left = obj.offsetLeft + step + 'px';
                        // console.log(obj.style.left);
                    }
                }, 15)
            }
            var div = document.querySelector('div');
            var btn600 = document.querySelector('.btn600');
            btn600.addEventListener('click', function() {
                move(div, 600)
            })
            var btn600 = document.querySelector('.btn800');
            btn600.addEventListener('click', function() {
                move(div, 800, function() {
                    div.style.backgroundColor = 'violet'
                })
            })
        })
    </script>
</head>
 
<body>
    <button class="btn600">點擊移動600</button>
    <button class="btn800">點擊移動800</button>
    <div></div>
</body>
 
</html>

到此,關于“JS如何實現添加緩動畫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

js
AI

兰考县| 公主岭市| 吐鲁番市| 琼海市| 钟山县| 海阳市| 开化县| 子洲县| 哈密市| 南京市| 余庆县| 侯马市| 宜章县| 平罗县| 漾濞| 濉溪县| 永州市| 贵定县| 广宗县| 呼玛县| 萍乡市| 东至县| 乡宁县| 五大连池市| 板桥市| 南华县| 北海市| 太和县| 怀来县| 安西县| 衡阳县| 盐城市| 青海省| 宿州市| 贵德县| 正阳县| 温泉县| 泗洪县| 商丘市| 德格县| 基隆市|