jQuery滑动横幅鼠标不起作用

时间:2017-06-13 17:11:10

标签: jquery slider setinterval clearinterval

当我将鼠标移出滑动图片时,setInterval功能无法再次重启。图片停止,不再滑动。此代码似乎有问题" $(" #wrapper-banner")。mouseout(function(){timer()});"任何人都可以提供帮助?非常感谢!

//slide banner
$("#wrapper-banner > div:gt(0)").hide();

 timer=setInterval(function() {
    $('#wrapper-banner > div:first')
        .fadeOut(1000)
        .next()
        .fadeIn(1000)
        .end()
        .appendTo('#wrapper-banner');
}, 4000);
$("#wrapper-banner").mouseover(function(){clearInterval(timer);})

$("#wrapper-banner").mouseout(function(){timer()});

1 个答案:

答案 0 :(得分:0)

setInterval函数返回计时器的句柄,而不是函数。它不能被称为像重启它的函数。我相信你想要的是第二次在同一个函数上调用setInterval并替换定时器句柄。

//slide banner
$("#wrapper-banner > div:gt(0)").hide();

function moveNext() {
    $('#wrapper-banner > div:first')
        .fadeOut(1000)
        .next()
        .fadeIn(1000)
        .end()
        .appendTo('#wrapper-banner');
}

timer=setInterval(moveNext, 4000);
$("#wrapper-banner").mouseover(function(){clearInterval(timer);})

$("#wrapper-banner").mouseout(function()
{timer=setInterval(moveNext, 4000);});