javascript - jQuery slideDown & 然后 slideUp 定时器

标签 javascript jquery timer slidedown slideup

我有一个简单的 .slideDown功能:

$globalTabs.find('.seeMore a').live("click", function(){
     $globalTabs.find(".allTabs").slideDown('slow');
 });

当用户点击 <a>.allTabs , .allTabs.slideUp .

我想做的是,如果用户没有点击 .allTabs 中的任何内容并且鼠标不再在 .allTabs 内,然后计时器开始等待 x 时间,然后执行 .slideUp .此外,如果鼠标输入 .allTabs再次在 .slideUp 之前触发器 - 然后当鼠标移出 .allTabs 时计时器停止并重置

不确定如何处理。任何帮助将不胜感激。

基础标记:

<div class="allTabs">
   <a href="#">link 1</a>
   <a href="#">link 2</a>
   <a href="#">link 3</a>
   <a href="#">link 4</a>
</div>

和:

<li class="seeMore"><a href="#">see more</a></li>

最佳答案

您可以使用setTimeoutclearTimeout 函数,请注意live 方法已被弃用,您可以使用on 方法代替。

var timeout;

$(document).on({
    mouseenter: function(){
        clearTimeout(timeout)
    },
    mouseleave: function(){
        var $this = $(this)    
        timeout = setTimeout(function(){
           $this.slideUp('slow')         
        }, 500)
    },
}, ".allTabs")

Fiddle

更新:

var timeout;

$(document).delegate(".allTabs", "mouseenter", function() {
    clearTimeout(timeout)
})

$(document).delegate(".allTabs", "mouseleave", function() {
    var $this = $(this)
    timeout = setTimeout(function() {
        $this.slideUp('slow')
    }, 1000)
})

Fiddle

关于javascript - jQuery slideDown & 然后 slideUp 定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12118292/

相关文章:

javascript - ASP.NET MVC : Populating select option with ajax

javascript - 如何在一行中进行多次点击 (HTML/CSS/JS)

javascript - 单击标签时放置图像

jquery - 移动灯箱?

ios - TableView 单元格中的倒计时器在滚动后显示不同的值

javascript - 无法加载 wasm 应用程序

javascript - setInterval 导致内存泄漏

javascript - 如何在 blueimp jquery 下载程序中过滤要下载的文件

android - 如何在DD :HH:MM:SS format in android?中获取倒计时器

linux - 哪个硬件定时器用于 linux 中的 hr 定时器?