2秒后执行功能

Pie*_*rov 0 javascript jquery

下面我写了一个悬停元素的函数.我希望只有当鼠标处于2秒或更长时间的那一部分时才会执行此功能.什么时候他们会少或根本不会这样做.

在我写的代码下面:

$(function(){
    $('section.zespol_list ul li a').hover(function(){
        $(this).next().fadeIn(1000);
    },
    function(){
        $(this).next().fadeOut(1000);
    });
});
Run Code Online (Sandbox Code Playgroud)

Sha*_*oli 6

您可以使用setTimeout延迟执行,并在该时间内触发mouseout清除计时器clearTimeout.

$(function(){
    var timeOutId;
    $('section.zespol_list ul li a').hover(function(){
        timeOutId= setTimeout(function(){ 
             $(this).next().fadeIn(1000)
        ), 2000);
    },
    function(){
        clearTimeout(timeOutId);
        $(this).next().fadeOut(1000);
    });
});
Run Code Online (Sandbox Code Playgroud)