0
我很努力地找出如何检测固定位置的div何时开始并完成在滚动时悬停某个div。当固定位置的div跨越另一个元素时检测
我有一个div总是固定在我的窗口并居中。当我滚动我的页面时,我希望固定div在开始悬停另一个时更改其颜色,并在完成悬停后移除颜色。我附上了一个小模式来说明我的问题。要恢复:
当页面加载具有黑色时的固定div - >开始悬停第二个div,颜色变成白色 - >完成将鼠标悬停在第二个div上,颜色返回黑色。
我发现这个问题:Detect when a position: fixed; element crosses over another element
当DIV开始跨越第二个,但是当悬停完成后不恢复颜色它的工作原理。我的代码:
$(window).scroll(function() {
if ($('div.fixed').offset().top < ($(".div-to-cross").offset().top - 0)) {
$('div.fixed').removeClass('white');
} else {
$('div.fixed').addClass('white');
}
});
在此先感谢您的帮助。
非常感谢你,它的工作原理就像一个魅力! 但是,我网站上的网页并不需要诀窍来切换颜色,因为固定div没有此部分交叉,并且会导致我的其他javascript失效。你知道我们如何解决这个冲突吗? –
我想我找到了解决方案,我在IF语句中包含整个函数: 'if($('。div-to-cross')。length){做点什么}' –
是的......这就是。当然,如果没有“div-to-cross”元素......可能会有问题。你的IF声明应该有效。 –