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

溫馨提示×

溫馨提示×

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

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

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

青神县| 朝阳区| 安康市| 黑龙江省| 鲁甸县| 连平县| 赤壁市| 大丰市| 三江| 驻马店市| 徐水县| 九龙坡区| 阿拉善左旗| 奉新县| 红桥区| 梁山县| 邮箱| 江都市| 宜宾市| 桃园市| 东台市| 汝城县| 江油市| 内黄县| 象州县| 五莲县| 武夷山市| 修水县| 常州市| 涟水县| 镇江市| 伊吾县| 清水县| 西充县| 佳木斯市| 东乌珠穆沁旗| 阳曲县| 大渡口区| 武义县| 广宁县| 敦煌市|