我对下面代码的预期结果是 .csr-area-3 .csr-video
并添加了类 csr-animate csr-zoom-in
,为什么 $(this)
在这种情况下不起作用?
if ($(".csr-area-3 .csr-video").is(":in-viewport")) {
$(this).addClass('csr-animate csr-zoom-in');
}
最佳答案
因为上下文是调用者函数/事件或者可能是全局窗口上下文,所以再次使用相同的选择器来添加类:
if ($(".csr-area-3 .csr-video").is(":in-viewport")) {
$(".csr-area-3 .csr-video").addClass('csr-animate csr-zoom-in');
}
<小时/>
根据评论进行编辑
使用变量来存储 jquery 查找的结果:
var csrvideo = $(".csr-area-3 .csr-video");
if (csrvideo.is(":in-viewport")) {
csrvideo.addClass('csr-animate csr-zoom-in');
}
注意:使用过滤器作为 @saptal 的答案将确保在存在多个元素的情况下将类添加到视口(viewport)内的元素。
关于javascript - $(this) 在 if ($ (".element").is() 内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40400723/