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

首頁 > 語言 > JavaScript > 正文

JS實現勻速運動的代碼實例

2024-05-06 15:56:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JS實現勻速運動的代碼實例,有需要的朋友可以參考一下

效果:

JS實現勻速運動的代碼實例

 

思路:

利用setInerval()計時器,進行運動。然后關鍵的一點是在最后停止的時候給它一個填充縫隙的判斷。

代碼:

復制代碼 代碼如下:


<head runat="server">
    <title></title>
    <style type="text/css">
        #div1
        {
            width: 100px;
            height: 100px;
            background: #0000FF;
            position: absolute;
            left: 800px;
            top: 100px;
        }
        #div200
        {
            width: 1px;
            height: 400px;
            background: #FF0000;
            position: absolute;
            left: 200px;
        }
        #div500
        {
            width: 1px;
            height: 400px;
            background: #FF0000;
            position: absolute;
            left: 500px;
        }
    </style>
    <script type="text/javascript">
        function move(end) {
            var oDiv = document.getElementById('div1');
            var timer = null;
            timer = setInterval(function () {
                var speed = (end - oDiv.offsetLeft) / 5;        //根據終點和offsetLeft取出運動的速度
                speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);       //進位取整,小數位變為整位,
                //                if (oDiv.offsetLeft <= end) {
                //                    clearInterval(timer);
                //                }
                //                else {
                //                    oDiv.style.left = oDiv.offsetLeft + speed + 'px';
                //                }
                if (Math.abs(end - oDiv.offsetLeft) <= speed) { //由于在停止的時候最后會出現小的縫隙,或者說沒有完全的到達指定地點,所以要小于它的速度
                    clearInterval(timer);                       //當距離小于速度時,讓計時器停止
                    oDiv.style.left = end + 'px';           //在停止后填充縫隙。
                }
                else {
                    oDiv.style.left = oDiv.offsetLeft + speed + 'px';       //移動DIV
                }
            }, 30)
        }
    </script>
</head>
<body>
    <input type="button" value="到500的位置" />
    <input type="button" value="到200的位置" />
    <div>
    </div>
    <div>200
    </div>
    <div>500
    </div>
</body>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 蒲城县| 德清县| 新宁县| 石屏县| 凤山县| 宁城县| 肥乡县| 博罗县| 哈尔滨市| 红河县| 安化县| 凌云县| 斗六市| 静海县| 巴楚县| 丘北县| 班玛县| 尼木县| 郴州市| 手机| 伊金霍洛旗| 永川市| 陈巴尔虎旗| 靖州| 宝清县| 全州县| 军事| 阿拉善右旗| 菏泽市| 团风县| 桑植县| 中牟县| 泰来县| 庆元县| 通州市| 翁牛特旗| 九江县| 叙永县| 彭山县| 彭山县| 申扎县|