jquery – 如果鼠标悬停超过2秒,然后显示其他不要?

前端之家收集整理的这篇文章主要介绍了jquery – 如果鼠标悬停超过2秒,然后显示其他不要?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个jQuery幻灯片功能,我已经应用到悬停上的div,以便向下滑动一个按钮。

它工作得很好,除了现在每当有人进出它的时候,它都会不断地上下颠倒。

我想,如果我把一个或两个第二个延迟计时器放在它上面会更有意义。

如果用户在div上超过一秒钟或两秒,我将如何修改功能才能运行幻灯片

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js "></script>
<script type="text/javascript">

$("#NewsStrip").hover(
function () {
    $("#SeeAllEvents").slideDown('slow');    },function () {
    $("#SeeAllEvents").slideUp('slow');
});

</script>

解决方法

您需要在鼠标悬停上设置一个计时器,并在幻灯片激活或鼠标移动时清除它,以先到者为准:
var timeoutId;
$("#NewsStrip").hover(function() {
    if (!timeoutId) {
        timeoutId = window.setTimeout(function() {
            timeoutId = null; // EDIT: added this line
            $("#SeeAllEvents").slideDown('slow');
       },2000);
    }
},function () {
    if (timeoutId) {
        window.clearTimeout(timeoutId);
        timeoutId = null;
    }
    else {
       $("#SeeAllEvents").slideUp('slow');
    }
});

See it in action.

猜你在找的jQuery相关文章