我可以't使clearInterval工作:/

I can't get clearInterval working :/

本文关键字:clearInterval 工作 我可以      更新时间:2023-09-26

我制作了自己的幻灯片供自己使用,一切都很好。我设置了一个间隔,它会显示不同的幻灯片。

现在我试图添加暂停悬停间隔的可能性,并在离开幻灯片div.后继续

你有什么建议吗?感谢

这就是我现在拥有的:

function slideContent(div) {
    $('.contents').removeClass('act');
    if (div == 'first') {
        $('#stretchWidth').stop().animate({ "left": 0}, 700);
        $('.contents.first').addClass('act');
    } else if (div == 'second') {
        $('#stretchWidth').stop().animate({ "left": -700}, 700);
        $('.contents.second').addClass('act');
    } else if (div == 'third') {
        $('#stretchWidth').stop().animate({ "left": -1400}, 700);
        $('.contents.third').addClass('act');
    } else if (div == 'fourth') {
        $('#stretchWidth').stop().animate({ "left": -2100}, 700);       
        $('.contents.fourth').addClass('act');
    } else if (div == 'fifth') {
        $('#stretchWidth').stop().animate({ "left": -2800}, 700);       
        $('.contents.fifth').addClass('act');
    }
};


function slideContentAutomatic() {
    var $n;
    $n = 1;
    var run = function() { 
        switch($n) {
            case 0:
            slideContent('first')
            $n++;
            break;
            case 1:
            slideContent('second')
            $n++;
            break;
            case 2:
            slideContent('third')
            $n++;
            break;
            case 3:
            slideContent('fourth')
            $n++;
            break;
            case 4:
            slideContent('fifth')
            $n = 0;
            break;
        }
    }
    $('#contentSlide').hover(function() {
        clearInterval(run);
    }, function(){
        setInterval(run, 4000);
    });
}

这就是clearInterval

var x = setInterval(run, 4000); 
clearInterval(x);

clearInterval应该只接受由setInterval创建的唯一Interval ID。我建议您将全局变量设置为IntervalID。

例如

var myIntervalId = null;
function slideContentAutomatic() {
    //..Your code..
    $('#contentSlide').hover(function() {
        clearInterval(myIntervalId);
    }, function(){
        setInterval(run, 4000);
    });
}

希望这能有所帮助。https://developer.mozilla.org/en-US/docs/Web/API/window.clearInterval?redirectlocale=en-美国&redirectslug=DOM%2window.clearInterval