我对下面代码的预期结果是.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');
}
Run Code Online (Sandbox Code Playgroud)
因为上下文是调用者函数/事件或可能是全局窗口上下文,所以再次使用相同的选择器以添加类:
if ($(".csr-area-3 .csr-video").is(":in-viewport")) {
$(".csr-area-3 .csr-video").addClass('csr-animate csr-zoom-in');
}
Run Code Online (Sandbox Code Playgroud)
从评论中编辑
使用变量存储jquery查找的结果:
var csrvideo = $(".csr-area-3 .csr-video");
if (csrvideo.is(":in-viewport")) {
csrvideo.addClass('csr-animate csr-zoom-in');
}
Run Code Online (Sandbox Code Playgroud)
注意:使用filter作为@ saptal的答案将确保在存在多个元素的情况下将类添加到视口内的元素.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |