2013-03-25 181 views
1

試圖做一個功能,當切換打開時做「A」,切換關閉時做「B」。jquery切換功能打開/關閉

代碼:

function awesome_toggle() 
{ 
    $(".button").click(function() 
    { 
     $("content").toggle(
      function() 
      { 
       /* Do "A" */ 
      }, 
      function() 
      { 
       /* Do "B" */ 
      } 
     ); 
    }); 
} 

此代碼似乎沒有工作,我想不通爲什麼。當我僅使用一個函數時,所以我在/ *之後停止代碼「A」* /它可以工作,但是當我添加/ * Do「B」* /函數時,它停止工作。哪裏不對?

jQuery的版本:ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

+0

這是你的完整JS嗎? – Mooseman 2013-03-25 18:45:04

+0

@Mooseman如果你暗示這應該被重新標記爲JavaScript問題(添加JS標籤),我認爲你應該這樣做。另外,OP,我不確定我是否理解這個問題,具體是你想做什麼。 – 2013-03-25 18:46:30

+0

這個雙功能版本的切換在jQuery 1.9.1中被刪除。查看文檔:http://api.jquery.com/toggle/。我相信它現在將第一個函數解釋爲別的東西(例如持續時間)並拋出錯誤。 – 2013-03-25 18:46:50

回答

5

正如評論所說,這個版本的toggle已被棄用。

有很可能是一個更好的方式來完成你想要什麼,而是你可以檢查元素是否與:visible選擇切換後可見的,做的東西有條件基於這一點。

function awesome_toggle() 
{ 
    $(".button").click(function() { 
     $("content").toggle(normalSpeed, function() { 
      if ($("content").is(':visible')) { 
       /* Do "A" */ 
      } else { 
       /* Do "B" */ 
      } 
     }); 
    }); 
} 
+0

作品發現,非常感謝! – Notsogood13 2013-03-25 18:58:11