如果屏幕顶部到达该元素的底部,我想切换一个元素。事情是我的功能不起作用,我不知道如何解决这个问题,我真的在互联网上搜索了很长时间,但遗憾的是找不到任何东西。请你帮助我好吗 我曾经像那样切换它:
$(".tablee").click(function() {
$(this).next().slideToggle();
});
jQuery(我尝试在元素的底部到达屏幕顶部时切换):
if (($(".hiddenpost").offset().bottom + $(".hiddenpost").height()) <= $(window).height()) {
$(this).slideToggle();
}
HTML(简化为重要的事情):
<div class="parent">
<div class="tablee" style="height:100px;"></div>
<div class="hiddenpost" style="height:400px;"></div>
</div>
<div class="parent">
<div class="tablee" style="height:100px;"></div>
<div class="hiddenpost" style="height:400px;"></div>
</div>
<div class="parent">
<div class="tablee" style="height:100px;"></div>
<div class="hiddenpost" style="height:400px;"></div>
</div>
...
答案 0 :(得分:1)
首先,您使用一个类作为选择器。当你在DOM中有这个类的倍数时,你会遇到一个问题。
尝试指定类的特定实例,或在所有类上运行方法。
下面,在我未经测试的示例中,当我滚动时,我会检查每个.hiddenpost以查看它是否在所需的位置。
您可以尝试这样的事情:
<Script>
$(function(){
$("body").on("scroll",function(){
$(".hiddenpost").each(function(){
var x = $(this);
if ((x.offset().bottom + x.height()) <= $(window).height()) {
x.slideToggle();
}
});
});
});
</script>