Jquery .on(“mouseenter”) – 等待2秒钟然后执行操作

前端之家收集整理的这篇文章主要介绍了Jquery .on(“mouseenter”) – 等待2秒钟然后执行操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当您悬停在div上时,我有一个脚本显示隐藏的文本.但是我想要延迟2秒钟,如果用户在2秒钟之前将鼠标移开,我不需要显示任何内容.

我该如何做?

我有什么:http://jsfiddle.net/ZhrJT/

HTML:

<body>
    <div>hover this</div>
    <p class="hidden">unhidden!!</p>
</body>

JS:

$("body").on("mouseenter","div",function(){
    $("p").removeClass("hidden");
}).on("mouseleave",function(){
    $("p").addClass("hidden");
});

CSS:

div {
    background-color:red;
    height:100px;
}

p.hidden {
    display:none;  
}

p {
    background-color:yellow; 
    height:100px;   
}

解决方法

var timer;
$("body").on("mouseenter",function(){
    timer = setTimeout(function () {
        $("p").removeClass("hidden");
    },2000);
}).on("mouseleave",function(){
    clearTimeout(timer);
    $("p").addClass("hidden");
});

有啊,这很简单.只需设置一个超时,当它运行时隐藏元素,如果用户鼠标悬停元素,则取消超时.

原文链接:https://www.f2er.com/jquery/179543.html

猜你在找的jQuery相关文章