我有一个修复div,当我向下滚动时,当我滚动时,需要将它隐藏到特定的ID。当到达特定的ID时,隐藏滚动的div元素
-2
A
回答
0
试试这个:
$.fn.isOnScreen = function() {
var win = $(window);
var viewport = {
top: win.scrollTop(),
left: win.scrollLeft()
};
viewport.right = viewport.left + win.width();
viewport.bottom = viewport.top + win.height();
var bounds = this.offset();
bounds.right = bounds.left + this.outerWidth();
bounds.bottom = bounds.top + this.outerHeight();
return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
};
而且使用这样的:
$(window).scroll(function() {
if ($('#sampleId').isOnScreen() == true) {
$('.fixDiv').hide();
}
else{
$('.fixDiv').show();
}
});
你尝试过什么?你可以张贴一些代码吗。有些网站教你这种东西(www.w3schools.com就是其中之一)。 CSS很可能是你需要的,但我需要更多的信息来帮助你。 – nurchi
你可以尝试比较div位置(顶部)和你想要达到的元素。尝试使用getBoundingClientRect()函数:document.getElementById(“idOfElment”)。getBoundingClientRect()。顶部 –
@RicardoPontual谢谢。 我发现这个(检查链接),但我需要改变它以某种方式使用ID而不是像素,我不能! http://codepen.io/samora/pen/JKqyNE – SaMore