如何使用js保持div随滚动条移动跟着移动 比如一直在窗口的上端?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用js保持div随滚动条移动跟着移动 比如一直在窗口的上端?相关的知识,希望对你有一定的参考价值。
创建一个id为menu_zdd的盒子document.getElementById("menu_zdd").style.position="absolute"; document.getElementById("menu_zdd").style.top=(parseInt(document.documentElement.clientHeight,10)/2)+parseInt(document.documentElement.scrollTop,10)-50+"px";
document.getElementById("menu_zdd").style.left=((parseInt(document.documentElement.clientWidth,10)/2)-190)+"px";
大致上就是这个思路,动态获取位置 参考技术A 这个就没必要用js了,用css的relative 或absolutely,记得有一段时间,写js,用了relative,就出现了这种状况,恶心死了
div浮层,滚动条移动,保持位置不变的4种方法
div浮层,滚动条移动,保持位置不变的4种方法
div在顶部不变、滚动条滚动,div还是在顶部!
直接上传源码 了:
方法一:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
- <html xmlns="http://www.w3.org/1999/xhtml ">
- <head>
- <title>div浮层,滚动条移动,保持位置不变</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type="text/css">
- body{background-image:url(about:blank);background-attachment:fixed;}
- #float{width:344px;height:34px;border:1px solid #C0DBF8;position:absolute;top:0px;}
- </style>
- </head>
- <body>
- <div id="float" >ddd</div>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- </body>
- <script type="text/javascript">
- var IO=document.getElementById(‘float‘),Y=IO,H=0,IE6;
- IE6=window.ActiveXObject&&!window.XMLHttpRequest;
- while(Y){H+=Y.offsetTop;Y=Y.offsetParent};
- if(IE6)
- IO.style.cssText="position:absolute;top:(this.fix?(document.documentElement.scrollTop-(this.javascript||"+H+")):0)";
- window.onscroll=function (){
- var d=document,s=Math.max(d.documentElement.scrollTop,document.body.scrollTop);
- if(s>H&&IO.fix||s<=H&&!IO.fix)return;
- if(!IE6)IO.style.position=IO.fix?"":"fixed";
- IO.fix=!IO.fix;
- };
- try{document.execCommand("BackgroundImageCache",false,true)}catch(e){};
- </script>
- </html>
方法二:
- <strong><body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="overflow: hidden;">
- <!-- div</strong>来实现<strong> -->
- <div style="width: 100%; height: 100%; overflow: scroll;">
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
- </div>
- <div style="border: 1px red solid; width: 300px; height: 300px;margin:-150px 0 0 -150px; position: absolute; left: 50%; top: 50%;"></strong>
- 居中的层
- <strong> </div>
- </body></strong>
方法三:
- <body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" style="overflow: hidden;">
- <!-- iframe来实现 -->
- <iframe src="http://www.csdn.net/" width="100%" height="100%" frameborder="0"></iframe>
- <div style="border: 1px red solid; width: 300px; height: 300px;margin:-150px 0 0 -150px; position: absolute; left: 50%; top: 50%;">
- 居中的层
- </div>
- </body>
方法四:[采用css来居中]
- <style type="text/css">
- <!--
- html,body {height:100%; margin:0px; font-size:12px;}
- .mydiv {
- background-color: #f9fff6;
- border: 1px solid #009900;
- text-align: center;
- line-height: 25px;
- font-size: 13px;
- font-weight: bold;
- z-index:99;
- width: 300px;
- height: 50px;
- left:50%;/*FF IE7*/
- top:50%;/*FF IE7*/
- margin-left:-150px!important;/*FF IE7 half of its width */
- margin-top:-60px!important;/*FF IE7 half of its height*/
- margin-top:0px;
- position:fixed!important;/*FF IE7*/
- position:absolute;/*IE6*/
- _top: expression(eval(document.compatMode &&
- document.compatMode==‘CSS1Compat‘) ?
- documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
- document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/
- }
- -->
- </style>
- <script language="javascript" type="text/javascript">
- function showDiv(){
- document.getElementById(‘popDiv‘).style.display=‘block‘;
- }
- window.onload=function(){
- showDiv();
- }
- </script>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <title>始终在中间DIV (支持IE FF)</title>
- </head>
- <body>
- <div id="popDiv" class="mydiv" style="display:none;">始终在中间<br/>
- </div>
- <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
- </body>
- </html>
以上是关于如何使用js保持div随滚动条移动跟着移动 比如一直在窗口的上端?的主要内容,如果未能解决你的问题,请参考以下文章
js 网页代码 div随滚动条 移动到浏览器顶部 固定的问题
css+div如何将淘宝客服悬浮固定在右下角,不随滚动条移动。