使用jQuery在计时器上触发

使用jQuery在计时器上触发,jquery,Jquery,我有一个标签列表 将鼠标悬停在选项卡上,它将加载到选项卡内容中 我的客户想做的是,当您将鼠标悬停在“主页”选项卡中的“加载”返回时。 现在,这导致了我的鼠标悬停出现一些问题,因为你将鼠标悬停在列表下方,它总是弹回到“主页”选项卡。这是正确的,但我想做的是等待3或4秒,以加载主页选项卡返回。或者加载序列中的下一个悬停选项卡 希望这有意义 我现在的代码是 $('div.vertical_tabs ul.st_tabs li a').hover( function() {

我有一个标签列表

将鼠标悬停在选项卡上,它将加载到选项卡内容中

我的客户想做的是,当您将鼠标悬停在“主页”选项卡中的“加载”返回时。 现在,这导致了我的鼠标悬停出现一些问题,因为你将鼠标悬停在列表下方,它总是弹回到“主页”选项卡。这是正确的,但我想做的是等待3或4秒,以加载主页选项卡返回。或者加载序列中的下一个悬停选项卡

希望这有意义

我现在的代码是

$('div.vertical_tabs ul.st_tabs li a').hover(
        function() {
            $(this).trigger('click');
} , function() {
            $('.home').trigger('click');
}           
});

感谢您的帮助。

基本上应该是这样的:

$('div.vertical_tabs ul.st_tabs li a').hover(function() {
    clearTimeout($('.home').data('timeout'));
    $(this).trigger('click');   
}, function() {
    var t = setTimeout(function() {
        $('.home').trigger('click');
    }, 2000);
    $('.home').data('timeout', t);
});
下面是一个演示:


基本上应该是这样的:

$('div.vertical_tabs ul.st_tabs li a').hover(function() {
    clearTimeout($('.home').data('timeout'));
    $(this).trigger('click');   
}, function() {
    var t = setTimeout(function() {
        $('.home').trigger('click');
    }, 2000);
    $('.home').data('timeout', t);
});
下面是一个演示:


您可以启动一个超时间隔,将其值存储在悬停对象的数据属性中。只是一个想法。不太确定我是如何做到这一点的?你能创建一个fiddle测试用例吗?我将尝试在您的代码中实现它。您可以启动一个超时间隔,将其值存储在悬停对象的数据属性中。只是一个想法。不太确定我是如何做到这一点的?你能创建一个fiddle测试用例吗?我将尝试在你的代码中实现它。那太完美了。我也能看到你用它做了什么。我不太确定setInterval或setTimeout是否是正确的方法。很多人都知道,不用使用
.trigger()
,只需执行例如:
$(this)。单击()太完美了。我也能看到你用它做了什么。我不太确定setInterval或setTimeout是否是正确的方法。很多人都知道,不用使用
.trigger()
,只需执行例如:
$(this)。单击()