2012-07-20 40 views
0

我在網格中有幾個跨度,我有一個小問題。當我懸停1個元素時,所有隱藏跨度都被激活。我想只激活一個盤旋。針對1個元素不是所有jquery js

   $('.tried-it').live('mouseover', function(){ 
        $('.tried-times').fadeIn(500).addClass("show-me").removeClass("hide-me"); 
       }); 

       $(".tried-it").live('mouseout',function() { 
        $(".tried-times").fadeOut(500).removeClass("show-me").addClass("hide-me"); 
        return false; 

       }); 

和跨度:

<span class="tried-times hide-me">30 times</span> 
<span class="tried-it"></span> 
+0

是你的整個頁面的跨度結構? – 2012-07-20 15:44:24

+0

是的..這是一個跨度結構 – 2012-07-20 16:47:49

回答

2

這似乎是一個奇怪的方式來組織你的元素,但如果他們只是放置一個接一個,我會做一些事情,如:

$(document).on({ 
    mouseenter: function(){ 
     $(this).prev('.tried-times').addClass("show-me") 
            .removeClass("hide-me") 
            .fadeIn(500); 
    }, 
    mouseleave: function() { 
     $(this).prev('.tried-times').fadeOut(500) 
            .removeClass("show-me") 
            .addClass("hide-me"); 
    } 
}, '.tried-it');​ 

這是一個FIDDLE

+0

謝謝你的幫助,但沒有運氣。 – 2012-07-20 16:11:35

+0

@ user1174849 - 我添加了一個小提琴,也許這使得它更容易理解它是如何工作的? – adeneo 2012-07-20 16:40:10

+0

我已經看到你的小提琴。它在小提琴內工作。但在我的內容它沒有:( – 2012-07-20 17:19:49

0

像這樣的事情應該工作,就只有觸發事件的元素的情況下運行。請注意,選擇是$(this)代替$('.tried-times')

$('.tried-it').live('mouseover', function(){ 
    $(this).fadeIn(500).addClass("show-me").removeClass("hide-me"); 
}); 

$(".tried-it").live('mouseout',function() { 
    $(this).fadeOut(500).removeClass("show-me").addClass("hide-me"); 
    return false; 
}); 
+0

在沒有任何反應的鼠標:)。在鼠標出元素是不可見的:)酷功能,但這不是我想要實現的。我曾嘗試過:$(「。tried-it」)。hover(function(){(012)}()。 removeClass(「hide-me」);}); – 2012-07-20 16:13:41