Javascript jQuery滑块不会在鼠标悬停时停止

Javascript jQuery滑块不会在鼠标悬停时停止,javascript,jquery,css,Javascript,Jquery,Css,我的jQuery滑块正在工作,但我不知道为什么它在悬停时不停止 我没有使用任何滑块插件 这是代码 $(function(){ var width = 720; var animationSpeed = 1000; var pause = 3000; var currentSlide = 1; var $slider= $('#slider'); var $slideContainer = $slider.find('.slides');

我的jQuery滑块正在工作,但我不知道为什么它在悬停时不停止

我没有使用任何滑块插件

这是代码

    $(function(){

    var width = 720;
    var animationSpeed = 1000;
    var pause = 3000;
    var currentSlide = 1;

    var $slider= $('#slider');
    var $slideContainer = $slider.find('.slides');
    var $slides = $slideContainer.find('.slide');

    var interval;

    function startSlider(){
        setInterval(function(){

            $slideContainer.animate({'margin-left': '-='+width}, animationSpeed, function(){

                currentSlide++;
                if(currentSlide === $slides.length){
                currentSlide = 1;
                $slideContainer.css('margin-left', 0);
                }
            });

        }, pause);

    }

    function stopSlider(){

        clearInterval(interval);

    }



    $slider.on('mouseenter', stopSlider).on('mouseleave', startSlider);

    startSlider();
    stopSlider();


});        

如有任何帮助,我们将不胜感激。

如果您想停止间隔,请按以下方式执行:

var interval = setInterval(function(){//do stuff here});
clearInterval(interval);
伙计,你做错了。 要停止一个间隔,您需要在之前将其分配给一个变量

创建间隔并将其分配给var:

var定时器=设置间隔功能{ //在这里做事 };

你已经安排好了时间,现在你可以停止了!像这样:

间隔定时器; 希望能帮助您:


只需从变量前缀中删除$,它不是php,而是jquery。

试试这个

var width = 720;
var animationSpeed = 1000;
var pause = 3000;
var currentSlide = 1;
var interval;

var $slider = "";
var $slideContainer = "";
var $slides = "";

function startSlider(){
  interval = setInterval(function(){
    $slideContainer.animate({
      'margin-left': '-=' + width
    },
    animationSpeed, function(){
      currentSlide++;
      if(currentSlide === $slides.length){
        currentSlide = 1;
        $slideContainer.css('margin-left', 0);
      }
    });

  }, pause);
}

function stopSlider(){
  clearInterval(interval);
}

$(function(){
  $slider = $('#slider');
  $slideContainer = $slider.find('.slides');
  $slides = $slideContainer.find('.slide');

  $slider.on('mouseenter', stopSlider).on('mouseleave', startSlider);
  startSlider();
});

最后一次调用stopSlider;不应该在那里。只是把它放在那里,希望能阻止滑块。你能详细说明或更正代码和帖子吗。我试过不知道是否正确,但它仍然没有停止。这里有一个来自youtube的链接,代码相同,但滑块正在停止。停止滑块功能出错。未定义计时器。仍然在下滑。我还没有投票给答案的理由。上面说我需要得到15点声誉积分。