JavaScript-div随滚动条滚动时闪烁
$(window).scroll(function(){
if($(window).scrollTop() > 940){
var top = $(window).scrollTop();
$("#navi").css({top: top + "px" });
}
if($(window).scrollTop() <= 940){
$("#navi").css({top: "940px" });
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个是因为滚动时候,scrollTop在不停的改变,目前好像木有办法解决,用滑动的比较好,间接解决他
<div id='topTools' style='position: absolute; top: 220px; right: 100px; z-index: 100;display:none;'>
11111111111111
</div>
var lastScrollY=0;
function scrolling(){
var diffY;
if (document.documentElement && document.documentElement.scrollTop)
diffY = document.documentElement.scrollTop;
else if (document.body)
diffY = document.body.scrollTop
else
{}
if(diffY==0){
document.getElementById("topTools").style.display="none";
} else {
document.getElementById("topTools").style.display="";
}
percent=.1*(diffY-lastScrollY);
if(percent>0){
percent=Math.ceil(percent);
} else {
percent=Math.floor(percent);
}
//document.getElementById("lAdvert").style.top=parseInt(document.getElementById("lAdvert").style.top)+percent+"px";
document.getElementById("topTools").style.top=parseInt(document.getElementById("topTools").style.top)+percent+"px";
lastScrollY=lastScrollY+percent;
}
window.setInterval("scrolling()",1);
这个是我写的,希望对你有帮助。总结:抖动原因是div的相对定位问题