7
var config = {    
     sensitivity: 3,    
     interval: 5000,     
     timeout: 5000,    
};

$("#cart-summary").hoverIntent(function () {
        $('.flycart').slideDown('fast');
}, function() {
        $('.flycart').slideUp('fast');
}).find('a.close').click(function(){
   $(this).parents('.flycart').hide();
});

...这可行,但有两个问题:

  1. 它似乎没有像它应该的那样等待 5 秒,无论我设置什么,它几乎都会立即打开。

  2. 影响在同一页面上使用 hoverintent 插件的所有元素。

我真的很感激任何帮助。谢谢!

4

2 回答 2

8

您没有将配置对象传递给 hoverIntent,因此它使用默认值: http ://cherne.net/brian/resources/jquery.hoverIntent.html

澄清,

var config = {
     sensitivity: 3,
     interval: 5000,
     timeout: 5000
};

$("#cart-summary").hoverIntent(function () {
    $('.flycart').slideDown('fast');
}, function() {
    $('.flycart').slideUp('fast');
}).find('a.close').click(function () {
    $(this).parents('.flycart').hide();
}, config);
于 2009-10-02T17:23:46.993 回答
2

这可能更清楚

function liMouseOverTrigger() {
    $(this).addClass('hover');
}

function liMouseOutTrigger() {
    $(this).removeClass('hover');
}

function tabHoverDelay() {

        var config = {
            sensitivity: 1,
            interval: 100,
            timeout: 400,
            over: liMouseOverTrigger,
            out: liMouseOutTrigger
        },
            config2 = {
                sensitivity: 1,
                interval: 350,
                timeout: 600,
                over: liMouseOverTrigger,
                out: liMouseOutTrigger
            };


        $('.js-navTabHover li').each(function () {
            $(this).hoverIntent(config);
        });

        $('.js-navTabHoverContent li').each(function () {
            $(this).hoverIntent(config2);
        });

    }

$(document).ready(function () {
    tabHoverDelay();
});
于 2014-09-03T09:20:44.803 回答