2011-02-28 209 views
0
$(document).ready(function(){ 
$("li::nth-child(1)").click(function() { 
     $("li").unbind('click'); 
     $(".content").fadeIn('slow'); 
     if ($("#what_image").is(':visible')) { 
     $("#what_image").fadeOut('slow', function() { 
     $("#what_text").fadeIn('slow'), function() { 
      $("li").bind('click'); 
      ... 

取消綁定的作品...所有「li」菜單元素都禁用點擊。 當動畫停止時,我喜歡綁定所有「li」元素。 無濟於事......一定出事了因爲我不能重新綁定元素...取消綁定/綁定不起作用

回答

0
$("li").bind('click'); 

這行不告訴它怎麼上單擊即可完成。您需要將其綁定到您希望它執行的功能。

假設你要綁定回它在做什麼,你會想在此之前:

$(document).ready(function(){ 
    function FadeLi() { 
     $("li").unbind('click'); 
     $(".content").fadeIn('slow'); 
     if ($("#what_image").is(':visible')) { 
      $("#what_image").fadeOut('slow', function() { 
       $("#what_text").fadeIn('slow'), function() { 
       $("li").bind('click', FadeLi); // Binding to the same function 
       } 
      } 
     } 
    } 

    $("li::nth-child(1)").click(FadeLi);  
} 
+0

我希望動畫時解除綁定和工程。 之後,我希望它綁定回到初始功能是 「$ (「li :: nth-child(1)」)。click(function()' 但你怎麼做到這一點? – 2011-02-28 14:57:51

+0

我已經添加了一個例子來展示我認爲你想要做的事 – 2011-02-28 15:01:45

+0

Found ..感謝您的幫助 我使用了「li」元素的索引「 – 2011-02-28 17:31:39

0

像這樣的東西應該工作:

$(document).ready(function(){ 
    function clickHandler() { 
    $("li").unbind('click'); 
    $(".content").fadeIn('slow'); 
    if ($("#what_image").is(':visible')) { 
     $("#what_image").fadeOut('slow', function() { 
     $("#what_text").fadeIn('slow'), function() { 
     $("li").bind('click', clickHandler); 
     ... 
    } 
    $("li::nth-child(1)").click(clickHandler); 

但我有一種感覺,有一個比綁定和解除綁定事件更好的方式來實現你想要的。

+0

感謝你們倆......工作很好......但是 問題是我有幾個我nu項目。 所以當一個人被點擊時,它會被解除綁定。 當然...其他「li」元素仍然是unbind ... 使用$(「li :: nnth-child(1)」)。bind('click',FadeLi); ... – 2011-02-28 15:30:58

0

好的...我發現它感謝您的幫助!

$(文件)。就緒(函數(){

function FadeLi() {                 
    $("li").unbind('click');               
     var index = $("li").index(this);            

     switch(index)                
      { case 0:                
        $("#what_image").fadeOut('slow', function() {     
        $("#what_text").fadeIn('slow', function() {      
        $("li").bind('click', FadeLi); // Binding to the same function 
         });               
        });                
       break                
       case 1:                
        $("#when_image").fadeOut('slow', function() {     
        $("#when_text").fadeIn('slow', function() {      
        $("li").bind('click', FadeLi); // Binding to the same function 
         });               
        });                

       break  
       . 
       . 
       .               
+0

而不是重複在動畫過程中綁定和解除綁定事件處理程序,爲什麼不直接編寫事件處理程序以便在動畫過程中忽略點擊? – 2011-02-28 17:52:00