2011-06-26 128 views
0

我有3個箱子,一旦用戶將鼠標懸停任何,如果變化大主要股利從默認通過featVals hash tablejQuery和多元素懸停檢查

內容到相關的div在我的代碼if ($('#estate-feature, #carrier-feature, #cleaning-feature').is(':hover')) {的一部分,我想檢查這3個div盒中是否有任何一個當前被徘徊,如果不顯示默認內容(defaultFeat變量)。

但是我收到了來自Google Chrome Javascript Console的Uncaught Syntax error, unrecognized expression: hover錯誤。

我該如何解決?

問候

$('#estate-feature, #carrier-feature, #cleaning-feature').hover(function() { 
    var currentFeatCont = featVals[$(this).attr('id')]; 
    headlineContent.html(currentFeatCont); 
}, function() { 
    headlineContent.delay(600) 
     .queue(function (n) { 
     if ($('#estate-feature, #carrier-feature, #cleaning-feature').not(':hover')) { 
      $(this).html(defaultFeat); 
     } 
     n(); 
    }) 
}); 

回答

2

:hover不是元素的屬性。此外,你綁定到那裏懸停,所以你知道你已經離開了懸停,並可以恢復默認的內容。如果您希望懸停觸發的內容在點離開觸發器元素後保持一段時間,則您需要假定您不打算滾動另一個觸發器或實現共享標誌變量,該變量指示應該停止默認的文本恢復。例如

var isHovered = false; 
$('#estate-feature, #carrier-feature, #cleaning-feature').hover(
    function() { 
       var currentFeatCont = featVals[$(this).attr('id')]; 
       headlineContent.html(currentFeatCont); 
       isHovered = true; 
    }, 
    function() {  
      isHovered = false; 
      headlineContent.delay(600) 
      .queue(function(n) { 
       if (!isHovered) { 
        $(this).html(defaultFeat); 
       } 
       n(); 
      }) 
    } 
); 
+0

這個問題解決了,謝謝! – Hellnar