スクロール中に画面の上にスティックするdiv要素#1があります。それまでのことです。ページの下にはもう1つの要素#2があり、要素#1は#2と接触するとスクロールを停止する必要があります。シナリオを説明するために、私はペイントスキルで病気の絵を作った。div要素が別の要素と接触するまで下にスクロールする
誰かがそれを行うにはどのようなアイデアを持っていますか?
スクロール中に画面の上にスティックするdiv要素#1があります。それまでのことです。ページの下にはもう1つの要素#2があり、要素#1は#2と接触するとスクロールを停止する必要があります。シナリオを説明するために、私はペイントスキルで病気の絵を作った。div要素が別の要素と接触するまで下にスクロールする
誰かがそれを行うにはどのようなアイデアを持っていますか?
$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');
}
});
が、これは
あなたの答えをありがとう。それは働いていません。私は値のボトムと$ el2.offset()を重ねて表示しました。それは変だけど、#1の結果は3600のもので、#2のものは約8000です...実際に重なっているとどうなりますか? – MolteNolte
オーバーフロー役に立てば幸い:隠されたが、おそらくdivで。 – Ylama
まあ、あなたもコードを追加する方が良いでしょう... – kukkuz