清除间隔在鼠标输入上不起作用
clearinterval not working on mouseenter
清除间隔在滑块中不起作用 我已经尝试了很多,但面对同样的问题,有没有人可以说出这里有什么问题以及如何解决这个问题?这是 Jquery 中的图像滑块
<script>
$(document).ready(function() {
var current = 2;
var sl = $(".aa").length;
var interval;
function startSlider() {
interval = setInterval(function() {
$(".slider-wrapper").delay(2000);
$(".slider-wrapper").animate({
'margin-left': '-=910'
}, 2000, function() {
current++;
if (current === sl) {
current = 1;
$(".slider-wrapper").delay(2000).animate({
'margin-left': '0'
}, 2000);
}
})
}, 3000);
}
function stopSlider() {
clearInterval(interval);
}
$(".slider-wrapper").on('mouseenter', stopSlider).on('mouseleave', startSlider);
startSlider();
});
</script>
原因是
因为interval
变量是一个全局变量(与窗口相关联,如果我们在窗口的上下文中,可以使用window.interval
或interval
访问(
而当你在$(".slider-wrapper").on('mouseenter'
内部调用stopSlider
时,this
关键字引用$(".slider-wrapper")
元素而不是window
。
换句话说,interval
不是在这种情况下定义的。
要解决此问题,只需在窗口的上下文中执行stopSlider
,如下所示: stopSlider.call(window)
而不是stopSlider
.
希望这有帮助。
相关文章:
- 点击按钮输入不起作用
- 按键事件上的简单HTML输入不起作用
- 数组输入不起作用
- 密码输入不起作用的Javascript模糊
- 通过用户输入不起作用来更改输入编号
- jQuery计时器对输入不起作用
- JavaScript onfocus/onblur 特定于输入 - 不起作用
- 隐藏输入不起作用
- 聚合物纸张输入不起作用或渲染
- Javascript 函数检查公式器中的所有输入不起作用
- 来自 jquery 的文本输入不起作用
- Javascript禁用表单上的输入不起作用
- j查询禁用输入不起作用
- 密钥输入不起作用
- 第二次点击后,iOS 网络视图中的文本输入不起作用
- 使用双卷bracer的指令的输入不起作用
- 克隆的自动完成输入不起作用
- 日期.GUI用户输入不起作用
- 离子输入不起作用,但输入起作用
- 当通过JS更新值时,jQuery对更改/输入不起作用