2013-08-24 79 views
0

給定一個元素列表,我想在兩個狀態(即0和1)之間切換每個元素。點擊0會將其更改爲1,反之亦然。在jQuery中單擊更改事件

另外,我想將其餘的元素重置爲0或1給定的情況。

這裏就是我想:

HTML:

<html> 
     <ul> 
      <li id="A1">Im a 0</li> 
      <li id="A2">Im a 0</li> 
      <li id="A3">Im a 0</li> 
      <li id="A4">Im a 0</li> 
      <li id="A5">Im a 0</li> 

      <li id="B1">Im a 1</li> 
      <li id="B2">Im a 1</li> 
      <li id="B3">Im a 1</li> 
      <li id="B4">Im a 1</li> 
      <li id="B5">Im a 1</li> 
     </ul> 
    </html> 

腳本:

$("[id^=B]").hide(); 


$("[id^=A]").click(function(){ 

     var switcha; 

     switcha=$(this).attr("id").substr(1); 
     alert(switcha); 
     $(this).fadeOut(100); 
     $("#B"+switcha).delay(100).fadeIn(100); 

}); 

$("[id^=B]").click(function(){ 

     var switchb; 

     switchb=$(this).attr("id").substr(1); 
     $(this).fadeOut(100); 
     $("#A"+switchb).delay(100).fadeIn(100); 

}); 

</script> 

這適用於每一個元素(它們變成0或1點擊),但我不知道如何重置其餘的ID,所以他們成爲0或1,因爲先前點擊每個單獨的ID。

對不起,如果是雜亂的;誰能幫我嗎?

+1

可以嗎?請更清楚解釋。你想要達到什麼目的? –

+0

@syedimty他有兩段代碼當他點擊一個** Im a 0 **時,他想要隱藏它並通過Id顯示相應的0元素Like'A1 to B1' – iConnor

回答

0

如果你想要這個這是很清楚,你希望實現..什麼:

http://jsfiddle.net/vuPkC/

或者你想這樣的:

http://jsfiddle.net/kGeJ7/

否則,您可以將以下代碼第二小提琴

$("[id^=B]").click(function(){ 

     var switchb; 

    $(".B").hide(); 
    $(".A").show(); 
     switchb=$(this).attr("id").substr(1); 
     $(this).fadeOut(100); 
     $("#A"+switchb).delay(100).fadeIn(100); 

}); 
+0

就是這樣。非常感謝。第二個小提琴鏈接正是我想要做的。謝謝! :D – RodoR

+0

很高興它幫助... :)不要忘記添加代表和選擇最好的答案夥計(無論你發現有幫助)..謝謝.. .. – Sid

0

我不會評論代碼,因爲你似乎知道如何編寫代碼。

但通常的邏輯是這樣的:

  1. 復位所有國家
  2. 開關你目前

的狀態,以便第一執行重置,所有元素,然後切換所需元素的狀態。

我想這就是你想要實現的目標?

+0

這正是我想要完成的。 – RodoR

+0

@RodoR太好了。如果您覺得問題已得到解答,您可以通過按打勾按鈕選擇最佳答案。 – Ozzy