我已经知道如何在经过滚动位置时显示div。我使用的JQuery代码如下所示:
$(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之后保持不变。即使在加载或刷新第一个页面时也是如此?
发布于 2012-11-18 14:33:54
使用visibility: hidden而不是display none。这将保留元素的width和height属性,但使其不可见。以下是我如何修改您的代码以使其正常工作。
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");
}
});
});https://stackoverflow.com/questions/13436455
复制相似问题