jQuery setTimeout

前端之家收集整理的这篇文章主要介绍了jQuery setTimeout前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想为这个工具提示代码添加一个超时,所以它只显示鼠标是否在一段时间后悬停在它上面而不是立即…我尝试添加setTimeout()但我无法弄清楚如何使用clearTimeout( )所以工具提示不会隐藏在mouSEOut上.你能帮我吗?
// -----------------------------------------------
// TOOLTIP MOUSE HOVER
// -----------------------------------------------
function mcTooltip() {
    $('.mcTxb').mousemove(function(e) {
        var mcHoverText = $(this).attr('alt');
        var mcTooltip = $('.mcTooltip');
        $(mcTooltip).text(mcHoverText).show('fast');
        $(mcTooltip).css('top',e.clientY + 10).css('left',e.clientX + 10);
    }).mouSEOut(function() {
        var mcTooltip = $('.mcTooltip');
        $(mcTooltip).hide('fast');
    });
}
mcTooltip();

我试过这个:

// -----------------------------------------------
// TOOLTIP MOUSE HOVER
// -----------------------------------------------
function mcTooltip() {
    $('.mcTxb').mousemove(function(e) {
        var mcHoverText = $(this).attr('alt');
        var mcTooltip = $('.mcTooltip');
        setTimeOut(function(){
            $(mcTooltip).text(mcHoverText).show('fast');
        },300);
        $(mcTooltip).css('top',e.clientX + 10);
    }).mouSEOut(function() {
        var mcTooltip = $('.mcTooltip');
        $(mcTooltip).hide('fast');
    });
}
mcTooltip();

解决方法

当您使用动画时,可以使用 .delay()来推迟工具提示的外观:
$(mcTooltip).text(mcHoverText).delay(1000).show('fast');

在mouSEOut函数中,使用.stop取消任何现有的延迟或动画,然后隐藏工具提示

$(mcTooltip).stop(true).hide('fast');
原文链接:https://www.f2er.com/jquery/178795.html

猜你在找的jQuery相关文章