清除屏幕插件中的 setInterval 以在视口中更改类
clearing the setInterval in the onScreen plugin to change a class when in viewport
嗨,我正在使用屏幕插件在元素滚动到视口时更改元素上的类。我想在几秒钟后删除该类,即使该元素在视口中,并且当该元素不在视口中时,该元素不应该像插件的设计方式那样具有该类(我认为)。
因此,当用户滚动到该元素时,应添加该类以显示这是用户正在寻找的元素。然后应该在几秒钟后将其删除,以显示它是页面上的常规内容。
我想我在插件中注意到,当元素在视口中时,setInterval 会不断添加类,所以我试图清除间隔,这样它就不会设置类,但它不起作用。
$( document ).ready( function() {
$( function() {
var id = setInterval( function() { ("#link").removeClass("red").filter(":onScreen").addClass("red").delay(2000).queue(function() {
$(this).removeClass("red");
});
}, 1000 );
});
function remove() {
if ( $("#link").hasClass("red") ) {
setTimeout(function() { clearInterval( id ); }, 3000 )
$("#link").removeClass("red");
}
}
remove();
当元素在几秒钟后和显示添加的类后在视口中时,请帮助我删除该类。感谢您的帮助。
这是Jsfiddle。
我建议您改用此插件。它有两种方法,您可以使用它们在匹配元素进入或离开视口时对它们执行操作,如下所示:
$('#link').onScreen({
doIn: function() {
$(this).addClass('red');
},
doOut: function() {
$(this).removeClass('red');
}
});
相关文章:
- 将视口底部滚动到元素底部
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- 宽度为100%的CSS元素位于视口之外
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- 如何设置浏览器视口大小
- Javascript em根据窗口/视口尺寸调整大小,不影响文档样式的text/css
- 检测视口并重定向到不同的主页
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- iOS iPad平板电脑渲染视口不正确
- 移动设备上的视口问题
- 视口大小更改时自动刷新页面
- 在移动设备上获取视口大小
- 在 ReactJS 中获取视口/窗口高度
- 使jquery延迟加载插件在视口内工作
- Div 设置为视口高度,即使调整屏幕大小也是如此
- jQuery调整大小和视口检查点
- 将html元素渲染到浏览器视口
- 用于管理视口布局的Javascript库
- 查找's在可见屏幕(视口)的中间,滚动时