js網頁側邊隨頁面滾動廣告效果實現(xiàn)
更新時間:2011年04月14日 22:07:32 作者:
其實這個效果不是什么難實現(xiàn)的效果,關鍵注意幾個地方就可以了
a.scrollTop的計算;
b.滾動元素的定位值計算;
c.滾動周期設定;
代碼如下:
css部分:
/*測試用的高度*/
body{ height:3000px;}
div,ul,li,body{margin:0; padding:0;}
/*position:absolute;用于元素的定位*/
#roll{width:50px; height:100px; background:#99CC00; position:absolute;}
Html代碼:
<body>
<div id="roll"></div>
</body>
JS代碼:
var roll=document.getElementById('roll'),
initX=0,
initY,
compY,
sp=15,
//可調整時間間隔,步進值不宜過大,不然IE下有點閃屏;
timeGap=5,
doc=document.documentElement,
docBody=document.body;
compY=initY=200;
roll.style.right=initX+"px";
;(function(){
var curScrollTop=(doc.scrollTop||docBody.scrollTop||0)-(doc.clientTop||docBody.clientTop||0);
//每次comP的值都不一樣;直到roll.style.top===doc.scrollTop+initY;
compY+=(curScrollTop+initY-compY)/sp;
roll.style.top=Math.ceil(compY)+"px";
setTimeout(arguments.callee,timeGap);
})();
b.滾動元素的定位值計算;
c.滾動周期設定;
代碼如下:
css部分:
復制代碼 代碼如下:
/*測試用的高度*/
body{ height:3000px;}
div,ul,li,body{margin:0; padding:0;}
/*position:absolute;用于元素的定位*/
#roll{width:50px; height:100px; background:#99CC00; position:absolute;}
Html代碼:
復制代碼 代碼如下:
<body>
<div id="roll"></div>
</body>
JS代碼:
復制代碼 代碼如下:
var roll=document.getElementById('roll'),
initX=0,
initY,
compY,
sp=15,
//可調整時間間隔,步進值不宜過大,不然IE下有點閃屏;
timeGap=5,
doc=document.documentElement,
docBody=document.body;
compY=initY=200;
roll.style.right=initX+"px";
;(function(){
var curScrollTop=(doc.scrollTop||docBody.scrollTop||0)-(doc.clientTop||docBody.clientTop||0);
//每次comP的值都不一樣;直到roll.style.top===doc.scrollTop+initY;
compY+=(curScrollTop+initY-compY)/sp;
roll.style.top=Math.ceil(compY)+"px";
setTimeout(arguments.callee,timeGap);
})();
您可能感興趣的文章:
- js阻止移動端頁面滾動的兩種方法
- 解決js頁面滾動效果scrollTop在FireFox與Chrome瀏覽器間的兼容問題的方法
- 基于AngularJS實現(xiàn)頁面滾動到底自動加載數(shù)據(jù)的功能
- js實現(xiàn)的鼠標滾輪滾動切換頁面效果(類似360默認頁面滾動切換效果)
- js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)
- Javascript實現(xiàn)頁面滾動時導航智能定位
- JavaScript實現(xiàn)頁面滾動圖片加載(仿lazyload效果)
- 原生Js頁面滾動延遲加載圖片實現(xiàn)原理及過程
- JS實現(xiàn)隨頁面滾動顯示/隱藏窗口固定位置元素
- 原生js實現(xiàn)頁面滾動動畫
相關文章
js中for...in循環(huán)對象時輸出key值順序混亂問題解決
很久之前就有前輩告訴我用for...in循環(huán)對象屬性的順序不是固定的,xiam?這篇文章主要給大家介紹了關于js中for...in循環(huán)對象時輸出key值順序混亂問題解決方法,需要的朋友可以參考下2023-11-11