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

首頁 > 語言 > JavaScript > 正文

JS實現側懸浮浮動實例代碼

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

效果:

JS實現側懸浮浮動實例代碼

思路:

首先,加載onscroll控制滾動條。然后寫緩存運動的方法,緩沖運動的方法是先計算出DIV緩沖的速度,并且將其取整,再進行運動判斷什么時候到達終點。最后將其參數返回。再在onscroll里面調用此方法,并且將終點計算出來賦予此方法的參數。

代碼:

復制代碼 代碼如下:


<head runat="server">
    <title></title>
    <style type="text/css">
        #div1
        {
            width: 200px;
            height: 200px;
            background: #0000FF;
            position: absolute;
            right: 0;
            bottom: 0;
        }
    </style>
    <script type="text/javascript">
        window.onscroll = function () {
            var oDiv = document.getElementById('div1');
            var DivScroll = document.documentElement.scrollTop || document.body.scrollTop;      //獲取移動高度
            //                        oDiv.style.top = (document.documentElement.clientHeight - oDiv.offsetHeight)/2 + DivScroll + 'px';
            move(parseInt((document.documentElement.clientHeight - oDiv.offsetHeight) / 2 + DivScroll));    //調用傳參,其中里面的參數是DIV要走的終點。也就是(可視高度-DIV高度)/2+移動高度
        };

        var timer = null;
        function move(end) {
            clearInterval(timer);       //首先,先關閉之前如果有開啟的setInterval;
            timer = setInterval(function () {      
                var oDiv = document.getElementById('div1');
                var speed = (end - oDiv.offsetTop) / 5;     //計算DIV要走的速度,DIV要走的速度就等于(終點-offsetTop高度)/縮放系數
                speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);       //為了避免小數,將其取整
                if (oDiv.offsetTop == end) {        //當DIV到達終點,則關閉setInterval;
                    clearInterval(timer);
                }
                else {
                    oDiv.style.top = oDiv.offsetTop + speed + 'px';     //移動div
                }
            }, 30);
        }
    </script>
</head>
<body>
    <div>
    </div>
</body>

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

圖片精選

主站蜘蛛池模板: 普兰县| 隆安县| 武山县| 绍兴县| 新竹县| 外汇| 西贡区| 乾安县| 额济纳旗| 鹰潭市| 灌南县| 满城县| 西盟| 渑池县| 新巴尔虎右旗| 延津县| 通河县| 简阳市| 汤原县| 小金县| 花莲市| 普兰店市| 陆丰市| 福贡县| 乌兰县| 西青区| 芮城县| 郁南县| 苍山县| 平阳县| 韩城市| 丹寨县| 星子县| 静宁县| 米林县| 明星| 甘谷县| 宿松县| 鞍山市| 高台县| 大邑县|