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

JavaScript017

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

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

css实现代码

<div style="position: fixedtop:100px left: auto right: auto  bottom: auto " ></div>

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

HTML部分代码

<div style="position:absolutebackground-color:redwidth: 50pxheight: 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"

}

很多时候,需要对div进行固定,比如在线咨询模块,这就需要固定div在显示页面的位置,而不能随滚动条滚动。

思路:将需要固定的div做成悬浮框,目的是能和别的div块重合,然后当触发滚动条事件,动态改变div坐标。

代码:

jsp中:

<body>

<div style="position: absolutez-index:90" id="div1">我不动</div>

<div>我动<div>

</body>

//有的将position设置成fixed,我试了试效果不如position好,设置z-index,向里的深度,我这儿设置90,你要覆盖几个div,设置数大于那个数就行。

js中:

我这儿用jquery写。

$(document).ready(function(){

$(window).scroll(function(){//滚动时触发函数

$("#div1").css("top",$(document).scrollTop())//将滚动条高度赋给悬浮框。

})

})

导入jquery库,效果就出来了。