2011-01-12 53 views
0

嗨我有一個div,我顯示給用戶每次他們添加到購物車的東西(這是一個迷你車,顯示在頁面上5秒,然後消失)。jQuery問題與hoverIntent和顯示隱藏爲div

的minicart的div顯示器由兩個事件觸發:

  1. HOVER:當用戶將鼠標懸停在div容器(使用hoverIntent插件)
  2. CLICK:當一個項目被添加到購物車中

1的代碼是:

// Show/Hide mini cart on hover 
$('#cartWrapper').hoverIntent(function() { 
    $("#cartPreviewWrapper").stop().slideDown('fast'); 
    }, 
    function() { 
    $("#cartPreviewWrapper").stop().slideUp('fast'); 
}); 

代碼爲2:

// When user clicks the add to cart button 
$('#purchase').click(function() { // div will not show fully at times when this is triggered 
    // show the minicart div for 5 seconds, then hide 
    $("#cartPreviewWrapper").show().delay(5000).queue(function(n) { 

     // I NEED TO ADD SOME CODE HERE 
     // THAT WILL MAKE THE DIV STAY/SHOW 
     // IF USER HOVERS OVER IT 

     $(this).hide(); n(); 
    }); 
}); 

的HTML:

我有
<div id="cartPreview"> 
    <div id="cartPreviewTable"> 
     // cart content 
    </div> 
</div> 

的一個問題是,當數2被觸發股利不能正確顯示。它有些卡住了一半,有時並沒有延伸。注意:div顯示並隱藏了我所有其他頁面上hoverIntent的問題。正當我在用戶添加一個項目到購物車的頁面上,並且編號爲2時,這個問題就出現了。

此外,有沒有人知道如何讓div顯示,如果用戶去並將鼠標懸停在第二個號碼觸發它?

希望這是有道理的,任何幫助非常感謝!

回答

0

我猜它是stop()方法,是造成這個問題,嘗試清除隊列:

// Show/Hide mini cart on hover 
$('#cartWrapper').hoverIntent(function() { 
    $("#cartPreviewWrapper").stop(true,true).slideDown('fast'); 
    }, 
    function() { 
    $("#cartPreviewWrapper").stop(true,true).slideUp('fast'); 
});