JQuery停止自动功能并设置间隔以重新启动

时间:2011-11-26 15:04:58

标签: jquery setinterval

以下功能会触发一些幻灯片自动移动。

function featloop(eq){
        if(eq == $('.featuredslider a').length) { return false }
        else {
            $(".featuredslider a").mouseleave();
            $('.featuredslider a:eq(' + eq + ')').mouseenter();
            var next = eq + 1;
            window.setTimeout(function(){featloop(next);}, 3000);
        }
}

但是如果用户碰巧触发了鼠标输入功能,那么这个自动功能需要停止,需要触发一个间隔,这样如果用户执行了mouseleave(),那么自动功能会从8000开始重新开始女士。这是可能的,以及如何。

1 个答案:

答案 0 :(得分:0)

你的意思是:

function featloop(eq,ms){
        if(eq == $('.featuredslider a').length) { return false }
        else {
            $(".featuredslider a").mouseleave();
            $('.featuredslider a:eq(' + eq + ')').mouseenter();
            var next = eq + 1;
            if (!ms){ms=3000);
            window.setTimeout(function(){featloop(next);}, 8000);
        }
}

$('$featureslider a').bind('mouseenter',function(){//or whatever your selector
    $('featureslider a).bind('mouseleave',featloop(eq,8000)); //I know this isn't the right call for eq, but I don't understand the original binding and html. so fix it properly
}) ;