2016-04-06 18 views
-1

私は決して自分自身で正しい答えを見つけられることはありませんでしたが、今日私は正解を見つけられなかったので、ここで尋ねなければなりません高度な検索)。".hiddenpost"の一番下が画面上部にある場合

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

私を助けてもらえますか? は、私はそのようにそれを切り替えるために使用:

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

jQueryの(element's底がscreen'sトップに達した場合、私の試みは切り替えます):(重要なものに縮小)

$(function(){ 
    $("body").on("scroll",function(){ 
     $(".hiddenpost").each(function(){ 
     var x = $(this); 
     if ((x.offset().bottom + x.height()) <= $(window).height()) { 
      x.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

ヨーヨー場合より多くの情報が必要です、私に教えてください! – Tim

+0

'x.offset()'は 'bottom'プロパティを返しません。 'top'と' left'だけがあります。 –

答えて

0

これを試してみてください:

$(function(){ 
     $(window).on('scroll', function() { 
      var scrollPosition = $(window).scrollTop(); 
      $(".hiddenpost").each(function(){ 
       var divBottomPosition = $(this).offset().top + $(this).outerHeight(); 
       if (divBottomPosition < scrollPosition) $(this).slideToggle(); 
      }); 
     }); 
    } 
+0

解決済みですが、私はあなたに感謝の意を表することはできません! – Tim

+0

問題ありません。お役に立てて嬉しいです! – Boratzan

関連する問題