jquery检查是否"这"对象是否悬停,不使用.is(':hover')函数

时间:2014-09-20 21:54:39

标签: javascript jquery hover

我正在为专辑制作封面。当鼠标悬停在任何图像上时,封面将开始循环遍历其中的所有图像,否则它将停止循环,并且它将重复该过程。我有以下功能(从jQuery文档修改)完成大部分工作。

但是我遇到了noHover()函数,它应该检查this.is的返回值(':hover')以查看当前图像是否正在悬停。但是,此功能仅适用于我的Firefox,并不适用于其他浏览器。然后我用$(' #images:hover')。长度。但这会检查div是否悬停,而不是正在检查的当前图像。这有什么方法可以检查"这个"对象悬停,以便当div中的白色区域悬停时,它不会循环图像。

JSFiddle演示 http://jsfiddle.net/91q54zj6/

$(function(){

    $('.noncover').hide(); // hide all the non-cover pictures

    function noHover() {
        // check div is hovered or not
        return $('#images:hover').length ? this : this.wait('mouseenter');
    }

    $('.cover').mouseenter(function() {


        $('#images > img').repeat().each($).fadeIn(50,$).wait(100).wait(noHover).fadeOut(50,$);

    });

1 个答案:

答案 0 :(得分:0)

尝试使用find()和img:hover:

return $('#images').find('img:hover').length ? this : this.wait('mouseenter');

我更新了你的小提琴:

http://jsfiddle.net/91q54zj6/1/