2009-10-02 11 views
5
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(); 
}); 

... to działa, ale dwie kwestie:Delay z hoverintent

  1. Nie wydaje się, aby poczekać 5 sekund jak powinien, otwiera niemal natychmiast bez względu na to co ja Ustaw.

  2. Wpływa na wszystkie elementy korzystające z wtyczki hoverintent na tej samej stronie.

Naprawdę doceniam każdą pomoc. Dzięki!

Odpowiedz

6

Nie przekazujemy obiekt config hoverIntent, więc używa domyślnych: http://cherne.net/brian/resources/jquery.hoverIntent.html

celu wyjaśnienia,

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); 
+0

$ (” # cart-summary "). hoverIntent (config, function() {...? – 3zzy

1

Może to być bardziej przejrzyste

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(); 
}); 
Powiązane problemy