Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQuery移动光标时隐藏/显示元素的最佳方法_Javascript_Jquery - Fatal编程技术网

Javascript 使用JQuery移动光标时隐藏/显示元素的最佳方法

Javascript 使用JQuery移动光标时隐藏/显示元素的最佳方法,javascript,jquery,Javascript,Jquery,我有一个元素,每当光标在页面上的任何位置移动时,我都希望显示该元素,并在光标不活动一段时间后再次隐藏该元素(除非光标悬停在该元素上) 这是我得到的最接近的结果,问题是当隐藏元素时,动画会一次又一次地播放,每移动一个像素。我想.stop()可能是答案,但如果是的话,我不知道该怎么做 bkLib.onDomLoaded(function() { setTimeout(function() { $("#footer").hide('blind', 500) }, 5000); $('htm

我有一个元素,每当光标在页面上的任何位置移动时,我都希望显示该元素,并在光标不活动一段时间后再次隐藏该元素(除非光标悬停在该元素上)

这是我得到的最接近的结果,问题是当隐藏元素时,动画会一次又一次地播放,每移动一个像素。我想.stop()可能是答案,但如果是的话,我不知道该怎么做

bkLib.onDomLoaded(function() {

setTimeout(function() {
    $("#footer").hide('blind', 500)
}, 5000);

$('html').mousemove(function() {
    if($("#footer").is(':hidden')) {
        $("#footer").show('blind', 500);
    }

    if($("#footer").is(':visible') && !$("#footer").is(':hover')) {
        setTimeout(function() {
            $("#footer").hide('blind', 500);
        }, 5000);
    }
});

});

在设置另一个超时之前,请尝试清除超时:

bkLib.onDomLoaded(function() {

var timeoutID = setTimeout(function() {
    $("#footer").hide('blind', 500)
}, 5000);

$('html').mousemove(function() {
    if($("#footer").is(':hidden')) {
        $("#footer").show('blind', 500);
    }

    if($("#footer").is(':visible') && !$("#footer").is(':hover')) {
        clearTimeout(timeoutID);
        timeoutID = setTimeout(function() {
            $("#footer").hide('blind', 500);
        }, 5000);
    }
});

});

尝试混合使用您的代码和以下内容:

$('#myelement').is(":animated")
因此,您可以猜测它是否可见,以及当前是否发生了一些事情