2013-08-24 60 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