Jquery IF悬停(执行)ELSE淡入/淡出

时间:2015-08-30 21:25:41

标签: jquery html css

我试图在我的脚本中添加IF语句。最初我的剧本应该在没有鼠标移动时淡出。当有的时候重新投入。如果我将鼠标悬停在运行脚本的DIV上,我试图使其无论鼠标移动都会褪色。

http://jsfiddle.net/2kyaJ/1098/

$(function () {
    var timer;
    var fadeInBuffer = false;



    $(document).mousemove(function () {
        if (('.fade-object').mouseover) {
            $('.fade-object').fadeIn();

        } else {

        if (!fadeInBuffer) {
            if (timer) {
                console.log("clearTimer");
                clearTimeout(timer);
                timer = 0;
            }

                console.log("fadeIn");
            $('.fade-object').fadeIn();
            $('html').css({
                cursor: ''
            });
        } else {
            fadeInBuffer = false;
        }


        timer = setTimeout(function () {
            console.log("fadeout");
            $('.fade-object').fadeOut()
            $('html').css({
                cursor: 'none'
            });
            fadeInBuffer = true;
        }, 1000)
        }
    });
});

1 个答案:

答案 0 :(得分:0)

这不是整个解决方案,但可能有所帮助。

设置var,告诉您div是否悬停:

var hovered = false;
$('div').on('mouseenter', function () {
    hovered = true;
});
$('div').on('mouseleave', function () {
    hovered = false;
});

打开和关闭mousemove事件:

$(document).on('mousemove', function () {...});
$(document).off('mousemove', function () {...});

因此,您可以在悬停/离开mousemove时切换div事件,或者可以检查if (hovered == true) {...}。你的选择是:)