我知道有很多教程可以在向下滚动一定数量的像素后显示div。
但我想要的是当用户滚过另一个div时让div出现。当它们向上滚动时,它必须再次消失。
为什么不在像素之后呢?在用户滚动浏览横幅图像后,我想使用此菜单显示在页面顶部。但是当您缩小浏览器(移动设备,平板电脑,小屏幕......)时,横幅图像将缩小到!图像的高度与以前不同。菜单栏似乎会延迟或更早;)这就是为什么我希望菜单栏出现在该图像(div)之后。
希望你们能帮忙!
答案 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隐藏