3

我已经找到了当您到达滚动位置时如何显示 div 的方法。我用来执行此操作的 JQuery 代码是这样的:

$(window).scroll(function() {
if ($(this).scrollTop() > 75) {
    $("#ddmenubg2:hidden").fadeIn('slow');
}
else {
    $("#ddmenubg2:visible").fadeOut("slow");
}

});

据我所知,这是告诉 div ddmenubg2 在到达 75 滚动标记之前隐藏,然后在超过该标记的任何地方,div 保持可见......以及该标记之前的任何内容,div 都被隐藏。但是,由于某种原因,ddmenubg2 div 在我的页面上位于 75 像素标记之前。然后当我输入超过 75 标记时,div 会逐渐消失并重新淡入。这只发生在第一个页面加载或刷新时,它在您向上和向下滚动多次后可以正常工作,但是每当您刷新页面时,这个问题就会出现,直到您向下滚动。

现在,对这个问题的一个简短修复是使 ddmenubg2 div 的显示“无”。这实际上解决了整个滚动问题,但它使我的主菜单无法正常运行。

那么我将如何做到这一点,以便 ddmenubg2 div 在您超过 75 之前保持隐藏,并且在您超过 75 时保持隐藏.. 即使在第一页加载或刷新时?

4

1 回答 1

8

使用可见性:隐藏而不是显示无。这将保留元素的宽度和高度属性,但会使其不可见。以下是我如何修改您的代码以使其正常工作。

CSS

#ddmenubg2{
   visibility:hidden;
}

javascript

$(function(){
    $(window).scroll(function() { 
        if ($(this).scrollTop() > 75) { 
            $("#ddmenubg2:hidden").css('visibility','visible');   
            $("#ddmenubg2:hidden").fadeIn('slow');  
        } 
        else {     
            $("#ddmenubg2:visible").fadeOut("slow"); 
        }  
    });
});
于 2012-11-18T06:33:54.140 回答