2009-09-25 61 views
1

由於我還在學習,這個問題似乎很簡單,但我仍然需要問。jQuery如何影響mouseOver上的單個元素

我該如何改變這個腳本,所以它不會顯示所有的工具提示?

現在發生的事情是,每當我在.pink-nose a懸停所有.tooltip在此同時

$(function(){ 
     var pn = $('.pink-nose a') 
     var tp = $('.pink-nose .tooltip') 

     tp.css({'display':'none'}) 
     pn.mouseover(function(){ 
      tp.fadeIn()    
     }) 
    }) 

感謝您的幫助提前

回答

2

而是使用tp的衰落處理函數,你應該從this(被挖出的元素)開始,並遍歷到它的相關工具提示。事情是這樣的:

$(function(){ 
    $('.pink-nose .tooltip').hide(); 

    $('.pink-nose a').mouseover(function(){ 
     $(this).parents('.pink-nose:first').find('.tooltip').fadeIn(); 
    }) 
}) 

確切遍歷將取決於您的標記的結構,看看在jQuery documentation for Traversing弄清楚什麼工作最好的。

+0

變了,先祖父母自祖先開始棄用了。 – 2009-09-25 15:09:23

+0

謝謝你 – bdukes 2009-09-25 20:22:32

-1
$('.pink-nose .tooltip').hide().each(function() { 
    var $this = $(this); 
    $this.parents('a').mouseover(function() { 
     $this.fadeIn(); 
    }); 
}); 
+1

我相信你會有一些問題,在鼠標懸停功能中重複使用$ this。 $這不會被綁定到適當的對象上。如果你添加$這個'var' infront它應該工作。另外,你需要在每個方法的ght中聲明函數。 – 2009-09-25 15:01:33

+0

使用'hide'代替'css'的好調用 – bdukes 2009-09-25 15:02:31

+0

$這將指向正確的元素,因爲它是一個閉包。 – fphilipe 2009-09-25 15:03:52

相關問題