Javascript clearinterval不适用于鼠标指针

Javascript clearinterval不适用于鼠标指针,javascript,jquery,web,Javascript,Jquery,Web,Clear Interval不在slider中工作我已经尝试了很多次,但面对同样的问题,有人能告诉我这里的问题是什么,我如何解决这个问题吗?这是Jquery中的图像滑块 <script> $(document).ready(function() { var current = 2; var sl = $(".aa").length; var interval; function startSlider() { interval = se

Clear Interval不在slider中工作我已经尝试了很多次,但面对同样的问题,有人能告诉我这里的问题是什么,我如何解决这个问题吗?这是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>

$(文档).ready(函数(){
无功电流=2;
var sl=$(“.aa”).长度;
var区间;
函数startSlider(){
间隔=设置间隔(函数(){
美元(“.slider wrapper”)。延迟(2000年);
$(“.slider wrapper”).animate({
“左边距”:“-=910”
},2000,函数(){
电流++;
如果(当前===sl){
电流=1;
$(“.slider wrapper”).delay(2000)。动画({
“左边距”:“0”
}, 2000);
}
})
}, 3000);
}
函数stopSlider(){
间隔时间;
}
$(“.slider wrapper”)。on('mouseenter',stopSlider)。on('mouseleave',startSlider);
startSlider();
});

原因是因为
interval
变量是一个全局变量(与窗口关联,可以使用
window.interval
interval
访问,如果我们在窗口的上下文中)

而当您在
$(“.slider wrapper”)内调用
停止滑块时,
在('mouseenter'
)上,此
关键字引用的是
$(“.slider wrapper”)
元素,而不是
窗口

换句话说,
间隔
不在此上下文中定义

要解决此问题,只需在窗口的上下文中执行
stopSlider
,如下所示:
停止滑块。调用(窗口)
而不是
停止滑块


希望这有帮助。

尝试使用
控制台将
interval
记录到屏幕上。记录(interval)
以查看它是否存在(从浏览器开发人员工具控制台选项卡ctrl+shift+i)。我已经检查过了。没有错误。它是否返回任何整数值?您可以为它发送html代码。