2012-11-02 68 views
13

我发现了这一点,但它在页面底部之前100px。我需要从页面顶部100px。我知道如何实现它,我已经完成了其他的jquery动画,只是不需要这个。从页面顶部滚动100px后显示div

$(window).scroll(function(){ 
    if($(window).scrollTop() + 100 > $(document).height() - $(window).height()){ 

    alert("at bottom"); 

    } 
}); 

而且,我需要知道如何反转这个,以便当用户在100px之前滚动备份时div消失。

这将用于导航栏。

EDIT2>这也工作:

$(window).scroll(function(){ 
    if($(window).scrollTop() > 100){ 
     $("#div").fadeIn("slow"); 
    } 
}); 
$(window).scroll(function(){ 
    if($(window).scrollTop() < 100){ 
     $("#div").fadeOut("fast"); 
    } 
}); 

回答

24

试试这个:

$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     // > 100px from top - show div 
    } 
    else { 
     // <= 100px from top - hide div 
    } 
}); 
+0

我想我已经添加了一些信息,因为你回答了这个问题。我会尝试你迄今为止给出的。谢谢! – DiscoveryOV

+0

@ R3TRI8UTI0N没问题,我已经为你更新了我的答案 –

+0

This Works。在更新我的文章后,我把它交到我自己的手中来解决它,并提出了我的文章中的Edit2>下列出的内容。谢谢您的帮助! – DiscoveryOV

10

试试这个:

var menu = $("nav"); 
$(window).scroll(function(){ 
    //more then or equals to 
    if($(window).scrollTop() >= 100){ 
     menu.show(); 

    //less then 100px from top 
    } else { 
    menu.hide(); 

    } 
}); 
+2

为什么会得到反对票?如果是因为Rory发布了完全相同的答案,您可以在参考文献中看到他在14:04做了一个更改,在我回答一小时后。 –

3

我会推荐这样做:

$("#divname").hide(); 
$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     $("#divname").fadeIn("slow"); 
    } 
    else { 
     $("#divname").fadeOut("fast"); 
    } 
}); 

现在div已经隐藏在您访问您的页面时。

没有这个:

$("#divname").hide() 

这将显示,然后执行淡出。这不是你想要的。

相关问题