2016-12-14 52 views
0

我有一个div元素#1,它在滚动时粘在屏幕上方。那到目前为止工作。现在进一步在页面上还有另一个元素#2,元素#1在与#2接触时应该停止滚动。为了说明这个场景,我用油漆技巧制作了一张生病的照片。div元素应该向下滚动,直到它接触到另一个元素

enter image description here

做对某人有一个想法,怎么办呢?

+0

溢出:隐藏;在div也许。 – Ylama

+0

好吧,如果你也添加一些代码,最好... – kukkuz

回答

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

这会给你第一个div的底部位置。现在,当您滚动时,检查第一个div的底部位置是否小于第二个div的顶部位置。如果它不那么好,但如果它大于你可以做任何你想要的第一个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

感谢您的回答。它没有工作。我将价值bott和$ el2.offset()。顶部叠加。这很奇怪,#1的结果是3600,#2是8000左右......如果它们真的重叠,怎么可能? – MolteNolte