سؤال

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. يؤثر على جميع العناصر باستخدام البرنامج المساعد Gloverintent في نفس الصفحة.

كنت أقدر حقا أي مساعدة. شكرا!

هل كانت مفيدة؟

المحلول

أنت لا تمر كائن التكوين إلى Gloverintent، لذلك يستخدم الإعدادات الافتراضية:http://cherne.net/brian/resources/jquery.hovertent.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);

نصائح أخرى

قد يكون هذا أكثر وضوحا

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();
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top