滚动经过div后出现Div

时间:2013-09-15 16:47:01

标签: javascript jquery html css scroll

我知道有很多教程可以在向下滚动一定数量的像素后显示div。

但我想要的是当用户滚过另一个div时让div出现。当它们向上滚动时,它必须再次消失。

为什么不在像素之后呢?在用户滚动浏览横幅图像后,我想使用此菜单显示在页面顶部。但是当您缩小浏览器(移动设备,平板电脑,小屏幕......)时,横幅图像将缩小到!图像的高度与以前不同。菜单栏似乎会延迟或更早;)这就是为什么我希望菜单栏出现在该图像(div)之后。

希望你们能帮忙!

3 个答案:

答案 0 :(得分:0)

现在我们正在抽象地谈论,我会尽力解释。

你不能得到targetDiv的当前位置(div,之后向下滚动会显示菜单栏),然后使用相同的代码在向下滚动一定数量的像素后显示menuDiv。

This answer可能会帮助您获取targetDiv的当前位置。

答案 1 :(得分:0)

所以,请执行以下步骤并告诉我它是如何进行的:

1)获取jquery.appear

2)在你的选择器上应用消失事件:

$('someselector').on('disappear', function(event, $all_disappeared_elements) {
      // this element is now outside browser viewport
    });

3)在那个事件上,只需让另一个div消失。

$('theStuffToHide').toggle()

4)最终结果

$('someselector').on('disappear', function(event, $all_disappeared_elements) {
    $('theStuffToHide').toggle()
});

这应该是你唯一需要的东西。

欢呼,希望它有所帮助。

答案 2 :(得分:0)

您可以检查页面偏移量是否超过了数量(目标的顶部偏移量+目标元素的高度)并显示div。

当页面偏移小于计算出的数量时,使div隐藏