2016-12-14 8 views
0

スクロール中に画面の上にスティックするdiv要素#1があります。それまでのことです。ページの下にはもう1つの要素#2があり、要素#1は#2と接触するとスクロールを停止する必要があります。シナリオを説明するために、私はペイントスキルで病気の絵を作った。div要素が別の要素と接触するまで下にスクロールする

enter image description here

誰かがそれを行うにはどのようなアイデアを持っていますか?

+0

オーバーフロー役に立てば幸い:隠されたが、おそらくdivで。 – Ylama

+0

まあ、あなたもコードを追加する方が良いでしょう... – kukkuz

答えて

0
$el1.offset().top + $el1.outerHeight(); 

これは、最初のdivの一番下の位置を示します。今すぐスクロールするとき、最初のdivの下端の位置が2番目のdivの上端の位置よりも小さいかどうかをチェックします。それはそれほどOKではないが、もしそれより大きければ、あなたが最初のdivで何でもしたいことをすることができます。そのポジションを絶対にして隠すことができます。

$(window).scroll(function(){ 
var bott = $el1.offset().top + $el1.outerHeight(); 
    if(bott > $el2.offset().top){ 
    $el1.css('display','none'); 
    // OR 
    $el1.css('position','absolute'); 
    } 
}); 

が、これは

+0

あなたの答えをありがとう。それは働いていません。私は値のボトムと$ el2.offset()を重ねて表示しました。それは変だけど、#1の結果は3600のもので、#2のものは約8000です...実際に重なっているとどうなりますか? – MolteNolte

関連する問題