当用户在页面上滚动时,我正在使用这段代码来隐藏菜单栏。它在Chrome 17.0.963.78上运行良好,但在其他浏览器上保持闪烁,即I.E.火狐和野生动物园..
$(window).load(function(){
$(document).scroll(function(){
$('#inner_floating').fadeOut();
var scrollA = $('body').scrollTop();
setTimeout(function(){
if(scrollA == $('body').scrollTop()){
$('#inner_floating').fadeIn();
}
}, 100);
})
});
答案 0 :(得分:1)
问题是你的.scroll函数是为滚动的每个像素(或鼠标滚动)调用的,所以动画连续多次运行。
尝试这样的事情:
$(window).load(function(){
$(document).scroll(function(){
if($("#inner_floating:hidden").length == 0) {
$('#inner_floating').fadeOut();
}
var scrollA = $('body').scrollTop();
setTimeout(function(){
if(scrollA == $('body').scrollTop() && $("#inner_floating:hidden").length > 0){
$('#inner_floating').fadeIn();
}
}, 100);
})
});
这样,动画只在必要时才会发生。