js怎么让一个div块始终保持在页面的固定位置,求列子

如题所述

建议使用css实现,效果更佳,使用position: fixed,固定定位,具体位置的调整是用top、left、right、bottom也可以使用margin调整

css实现代码

<div style="position: fixed;top:100px; left: auto; right: auto;  bottom: auto; " ></div>

一般的网站的浮动广告以及浮动菜单等可以使用fixed来实现,js的话需要计算位置以及滚动条滚动时触发事件从而进行计算使用window.onscroll事件代码如下

HTML部分代码

<div style="position:absolute;background-color:red;width: 50px;height: 50px;" id="box"></div>

Javascript部分代码

window.onscroll=function(){
    var box= document.getElementById("box");
    var t = document.documentElement.scrollTop || document.body.scrollTop;
    box.style.top=t+"px";
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-19
何必用JS呢- -直接CSS就能实现。。。body{position:relative;} div.xxx{position:absolute;top:xxx;left:xxx}这样就可以固定。。追问

不是固定的,如果滚动条移动,这个块也跟着移动,保持在屏幕中间

追答



悬浮块

div.demo{
border:1px solid #CCC;background:red;
position:fixed;height:100px;width:100px;
z-index:100000;left:100px;top:100px;
}

sdfsfsdfsf

相似回答