2016-04-05 6 views
0

画面の上部がその要素の下部に到達すると、要素を切り替える必要があります。事は私の機能は機能しないと私はこれを解決する方法を知らない、私は本当にインターネット上で長い時間を検索したが、残念なことに何かを見つけることができませんでした。要素の下端が画面の上部に到達する場合、要素を切り替えます。

$(".tablee").click(function() { 
    $(this).next().slideToggle(); 
}); 

jQueryの(element's底がトップscreen'sに達した場合、私の試みが切り替わります):まで減少

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> 
... 

答えて

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> 
+0

は、私はあなたがそこに何をしたかを理解し、それはまだ...私よりずっと良く見えるけれども答え、のためのおかげで動作しません。 – Moritz

関連する問題