中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

javascript怎么實現懸浮跟隨框緩動效果

發布時間:2022-03-31 17:10:12 來源:億速云 閱讀:152 作者:iii 欄目:開發技術

今天小編給大家分享一下javascript怎么實現懸浮跟隨框緩動效果的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1、定義一個運動函數,當觸發時調用,并且傳遞一個目標位置作為參數
2、運動函數內部,調用定時函數,在定時函數內部,先求出元素位置與目標位置的距離差,然后除以一個數值作為速度(由于距離差一直在縮小,所以速度值也一直在變小,從而達到緩動效果)
3、由于網頁上位置設置最小單位是1px,所以在步驟二中的運算可能會出現小數的情況,我們需要對小數進行處理,否則元素到達的位置總是和目標位置有1px的差距。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
        <style>
            #div1{
                width:100px;
                height:150px;
                background: red;
                border:1px solid #008000;
                right:0px;
                position: absolute;
            }
            #div2{
                width:1920px;
                height:1px;
                background:red;
                
                position: absolute;
            }
            
        </style>
        <script>
            window.οnlοad=function(){
                var oDiv=document.getElementById('div1');
                var oDiv1=document.getElementById('div2');
                var timer=null;
                oDiv.style.top=(document.documentElement.clientHeight-oDiv.offsetHeight)/2+document.documentElement.scrollTop+'px';
                window.οnscrοll=function(){
                    var scrolltop=document.documentElement.scrollTop || document.body.scrollTop;
                    var iTarget=(document.documentElement.clientHeight-oDiv.offsetHeight)/2+scrolltop;
                    iTarget=Math.floor(iTarget);
                    oDiv1.style.top=iTarget+'px';
                    startMove(iTarget);
                    
                };
                function startMove(itarget){
                    
                    clearInterval(timer);
                    timer=setInterval(function(){
                        var iDis=itarget-oDiv.offsetTop;
                        var speed=iDis/5;
                        if(iDis>=0){
                            speed=Math.ceil(speed);//當speed為小于1的數時,將它變為1,從而使元素位置移動一個像素,因為小于1的像素會被近似為0
                        }
                        else{
                            speed=Math.floor(speed);
                        }
                        if(oDiv.offsetTop==itarget)
                        {
                            clearInterval(timer);
                        }
                        else
                        {
                            oDiv.style.top=oDiv.offsetTop+speed+'px';
                        }
                        document.title=oDiv.offsetTop;
                    },30);
                    
                }
                
            };
        </script>
    </head>
    <body >
        <div id="div1">
            
        </div>
        
    </body>
</html>

運行結果圖:

javascript怎么實現懸浮跟隨框緩動效果

以上就是“javascript怎么實現懸浮跟隨框緩動效果”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

双流县| 宁河县| 张家口市| 梁平县| 贺州市| 岑巩县| 陕西省| 邵东县| 神木县| 石首市| 汉沽区| 天等县| 观塘区| 长丰县| 毕节市| 彝良县| 荃湾区| 扎兰屯市| 清流县| 陕西省| 洛扎县| 子长县| 无极县| 怀仁县| 常熟市| 蒙阴县| 将乐县| 宿松县| 扎赉特旗| 景宁| 桂东县| 二连浩特市| 达拉特旗| 龙门县| 天祝| 共和县| 天峨县| 沭阳县| 陇川县| 乾安县| 乐业县|