|
当浏览器滚动到某个位置,那么这个位置中的版块 添加 position: fixed; 属性。跟随浏览器一起滚动。
演示地址:http://demo.ourphp.net/?cn-clubview-1.html
那这个效果怎么做呢?
- <div style="position:relative">
- <div style="position:absolute">
- <div id="YIQI-UI-FLOAT">
- 浏览器到达这里,将会随浏览器一起滚动
- </div>
- </div>
- </div>
- <style>
- .div2 {position:fixed; }
- </style>
- <script>
- (function(){
- var oDiv=document.getElementById("YIQI-UI-FLOAT");
- var H=0,iE6;
- var Y=oDiv;
- while(Y){H+=Y.offsetTop;Y=Y.offsetParent};
- iE6=window.ActiveXObject&&!window.XMLHttpRequest;
- if(!iE6){
- window.onscroll=function()
- {
- var s=document.body.scrollTop||document.documentElement.scrollTop;
- if(s>H){oDiv.className="div2";if(iE6){oDiv.style.top=(s-H)+"px";}}
- else{oDiv.className="";}
- };
- }
- })();
- </script>
复制代码
很简单,就是当浏览器滚动到 标记 YIQI-UI-FLOAT 的时候,自动向 YIQI-UI-FLOAT 追加 CSS div2 的代码。
div2 中增加 position:fixed; 属性。
相对父元素定位的是position:absolute;
absolute会根据最相近的已定位的祖先元素定位 |
|