JQuery停止自动函数并将间隔设置为重新启动

JQuery停止自动函数并将间隔设置为重新启动,jquery,setinterval,Jquery,Setinterval,以下功能触发某些幻灯片自动移动 function featloop(eq){ if(eq == $('.featuredslider a').length) { return false } else { $(".featuredslider a").mouseleave(); $('.featuredslider a:eq(' + eq + ')').mouseenter(); var ne

以下功能触发某些幻灯片自动移动

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毫秒内从头开始。是否可能,以及如何启动。

您的意思是:

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
}) ;

什么时候应该停止?鼠标进入哪里?您可以提供更多信息,也可以共享html吗?我想最简单的方法是绑定mouseenter事件-在绑定内部-创建到mouselive的绑定,并使用另一个变量调用featloop-这将用8000替换3000(适当更改函数)