我正在尝试将一个类添加到.column
视口中该类的所有实例中。
这个 JS Fiddle.swoosh
为视口中的所有内容添加了一个类.column
,但是当我在我的标记中使用相同的 js 时,它不会将该.swoosh
类添加到.column
视口中。
- 我检查了 jquery 是否正在加载,它是。
- 该代码有效,因为它适用于 JS Fiddle
但是由于某种原因,此页面.column
的视口中的 没有获得 class 。.swoosh
这是我试图运行的代码:
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document. documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document. documentElement.clientWidth)
);
}
$.fn.checkViewportAndSetClass = function() {
$(this).each(function(){
if (isElementInViewport(this)) {
$(this).addClass("swoosh");
}
});
};
$('.column').checkViewportAndSetClass();
$(window).on("scroll", function() {
$('.column').checkViewportAndSetClass();
});