扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以把该元素的定位设置为fixed,该元素就会始终在那个位置,不过要注意IE6下不支持固定定位,兼容IE6可以通过JS实现,不过JS实现的是滑动效果,要想在IE6下也实现固定定位那样的效果没办法做到。
中阳网站建设公司创新互联,中阳网站设计制作,有大型网站制作公司丰富经验。已为中阳1000多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的中阳做网站的公司定做!
建议使用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";
}
使元素固定在网页中,不需要用到JS的,只需要用到CSS样式就可以了。
使用css 中的 position:fixed; fixed是相对于浏览器的定位,设置了这个样式的元素将不会随页面滚动而改变位置,固定在屏幕中。
如 :
.classname {
position:fixed;
left:0;
top:0;
z-index:9999;
}
function countdown(when, callback){
// 判断当前时间
var now = Date.now();
if(when now){
throw '开始时间不能小于当前时间';
}
// 如果大于当前时间,则过了相差的时间后再执行此函数
else if(when now){
setTimeout(function(){
countdown(when, callback);
}, when - now);
} else{
// 开始倒计时,这里的逻辑你没有描述
}
}
注意,js的定时并不是完全准确的。所有的setXXX之类的延时函数都是等计算机空闲下来才会执行
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
加上这个Doctype头,浏览器就进入了standards模式,而不加的话是进入quirks模式,可以参考
在标准模式下使用document.body.scrollTop 获取值, 得到的值始终为0,而如果要想得到希望的结果,可以通过document.documentElement.scrollTop来获取
要获取当前页面的滚动条纵坐标位置,用:
document.documentElement.scrollTop;
而不是:
document.body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签。
在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替
如果你想定位鼠标相对于页面的绝对位置时,你会发现google里面1000篇文章里面有999.99篇会让你使用event.clientX+document.body.scrollLeft,event.clientY+document.body.scrollTop,如果你发现你的鼠标定位偏离了你的想象,请不要奇怪,这是再正常不过的事情。
ie5.5之后已经不支持document.body.scrollX对象了。
所以在编程的时候,请加上这样的判断
if (document.body document.body.scrollTop document.body.scrollLeft)
{
top=document.body.scrollTop;
left=document.body.scrollleft;
}
if (document.documentElement document.documentElement.scrollTop document.documentElement.scrollLeft)
{
top=document.documentElement.scrollTop;
left=document.documentElement.scrollLeft;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流