2011-11-09 99 views
0

我一直在嘗試設置下面的腳本沒有成功。jquery:懸停功能只有當元素不是。點擊

我有元素#num_11,它在淡出其他幾個元素並在淡出時淡出它們。這是完美的(我已經很自豪)

我想要的是,如果你點擊#num_11其他元素保持可見。在再次點擊,他們應該再次消失,整個劇本回到原來的「模式」

$("#num_11").hover(
    function(){ 
     $("#identification li").each(function() { 
      $("h1", this).fadeIn(); 
      $("span", this).addClass("opague"); 
     }); 
    }, 
    function(){ 
     $("#identification li").each(function() { 
      $("h1", this).hide(); 
      $("span", this).removeClass("opague"); 
     }); 
    } 
); 

$("#num_11").click(function(){ 
    $(this).toggleClass('clicked'); 
}); 

我在上面的代碼是把$試過(「#num_11」)。不是(」被點擊「).hover(和$(」#num_11:not(「。clicked」)「)。hover(以及一個if-else-query結果混亂...

我真的很感激你的幫助我的挑戰

一切順利, ķ

+0

你是不會接受的答案嗎? –

回答

1

試試下面的代碼。

$("#num_11").hover(
function(){ 
    if(!$(this).hasclass('clicked')){ 
    $("#identification li").each(function() { 
     $("h1", this).fadeIn(); 
     $("span", this).addClass("opague"); 
    }); 
    } 
}, 
function(){ 
    if(!$(this).hasclass('clicked')){ 
    $("#identification li").each(function() { 
     $("h1", this).hide(); 
     $("span", this).removeClass("opague"); 
    }); 
    } 
}); 
$("#num_11").click(function(){ 
$(this).toggleClass('clicked'); 
}); 
+0

謝謝Chamika, 這爲我工作!我不知道爲什麼這個解決方案在我無奈的嘗試期間沒有出現在我的腦海裏;) – koiko

+0

只是謝謝?沒有贊成票。沒有標記爲答案:( –

0

嘗試過濾:

$("#num_11").filter(function() { 
    return !$(this).hasClass('clicked'); 
}).hover(
    ... 
); 
+0

嗨rkw,感謝您的快速回答。不幸的是,這個解決方案沒有帶來結果 - 行爲與沒有過濾的情況完全相同,但我喜歡你的方法,只需要一行代碼 – koiko

+0

我剛剛意識到的東西,是#num_11單個元素,還是它假設代表一組元素? – rkw