首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在传递滚动位置问题时仅显示DIV

在传递滚动位置问题时仅显示DIV
EN

Stack Overflow用户
提问于 2012-11-18 08:57:59
回答 1查看 9.2K关注 0票数 3

我已经知道如何在经过滚动位置时显示div。我使用的JQuery代码如下所示:

代码语言:javascript
复制
$(window).scroll(function() {
if ($(this).scrollTop() > 75) {
    $("#ddmenubg2:hidden").fadeIn('slow');
}
else {
    $("#ddmenubg2:visible").fadeOut("slow");
}

});

据我所知,这是在你达到75滚动标记之前将div ddmenubg2隐藏,然后在超过该标记的任何地方,div保持可见...在这个标记之前的任何东西,div都是隐藏的。但是,由于某些原因,ddmenubg2 div在我的页面上位于75像素标记之前。然后,当我进入超过75大关时,div会逐渐消失,并重新淡入。这只会在第一次页面加载或刷新时发生,在您多次上下滚动后都能正常工作,但每当您刷新页面时,此问题就会发生,直到您向下滚动。

现在,这个问题的一个简单解决方法是使ddmenubg2 div的显示为"none“。这实际上修复了整个滚动问题,但它使我的主菜单无法正常工作。

那么,我如何才能使ddmenubg2 div在超过75之前保持隐藏状态,并在超过75之后保持不变。即使在加载或刷新第一个页面时也是如此?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-18 14:33:54

使用visibility: hidden而不是display none。这将保留元素的width和height属性,但使其不可见。以下是我如何修改您的代码以使其正常工作。

CSS

代码语言:javascript
复制
#ddmenubg2{
   visibility:hidden;
}

javascript

代码语言:javascript
复制
$(function(){
    $(window).scroll(function() { 
        if ($(this).scrollTop() > 75) { 
            $("#ddmenubg2:hidden").css('visibility','visible');   
            $("#ddmenubg2:hidden").fadeIn('slow');  
        } 
        else {     
            $("#ddmenubg2:visible").fadeOut("slow"); 
        }  
    });
});
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13436455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档