cVe*_*gel 5 html javascript css jquery scroll
当我知道要指定哪个元素时,我找到了这个问题的答案,但我正在寻找的方法是检查'滚动'是否有任何具有特定类的元素进入视图,并修改它们(例如,改变不透明度 - 只有那些进入视野的人).我知道代码可能看起来与此类似,但我无法使其工作:
jQuery(window).on("scroll", function() {
var difference = jQuery(window).offset().top + jQuery(window).height()/2;
if (difference > jQuery(".makeVisible").offset().top) {
jQuery(this).animate({opacity: 1.0}, 500);
}
});
Run Code Online (Sandbox Code Playgroud)
非常感谢你.注意:存在变量差异,因为我希望元素在到达屏幕中间时变得可见.
从滚动后检查元素是否可见,然后使用jQuery在屏幕上将DIV居中以检查元素是否位于屏幕的可见中心:
function isScrolledIntoView(elem)
{
var centerY = Math.max(0,((jQuery(window).height()-jQuery(elem).outerHeight()) / 2)
+ jQuery(window).scrollTop());
var elementTop = jQuery(elem).offset().top;
var elementBottom = elementTop + jQuery(elem).height();
return elementTop <= centerY && elementBottom >= centerY;
}
Run Code Online (Sandbox Code Playgroud)
然后,我们可以将您的方法修改为:
jQuery(window).on("scroll resize", function() {
jQuery(".makeVisible").each(function(index, element) {
if (isScrolledIntoView(element)) {
jQuery(element).animate({opacity: 1.0}, 500);
}
});
});
Run Code Online (Sandbox Code Playgroud)