2013-03-02 116 views
2

嗨我一直有这个问题与jQuery的幻灯片效果,我想得到的效果是当你点击问题的答案滑下来。它正在为第一个工作,但不是为了接下来的几个问题。这里是一个链接的例子http://jsfiddle.net/p8CLN/3/ $(document).ready(function(){ $("#question").click(function(){ $("#answer").slideToggle("slow"); }); }); 我真的很难过这一个。jQuery的幻灯片效果

+0

。 – Terry 2013-03-02 00:48:30

+0

身份证号码是唯一的,投票结果为一万份其他复本! – adeneo 2013-03-02 00:48:55

+1

@Terry您不允许*每个ID有多次发生。 – 2013-03-02 00:49:08

回答

2

所有的ID转换为类,并给予点击功能方面:

$(document).ready(function(){ 
    $(".question").click(function(){ 
     $(this).next(".answer").slideToggle("slow"); 
    }); 
}); 

在这里看到更新的小提琴 - http://jsfiddle.net/teddyrised/p8CLN/8/

+0

感谢特里这解决了我的问题,正是我一直在寻找 – user1848831 2013-03-02 00:52:27

+0

不客气。如果它对你有帮助,请接受它作为答案。 – Terry 2013-03-02 00:54:48

+0

是的,谢谢我只能在6分钟内接受它 – user1848831 2013-03-02 00:57:12

0

ID必须是唯一的。

Here是更新的小提琴。我用班级名称替换了ID,并使用.next()来获取适当的答案元素。

0

这是因为您使用的ID为questionanswer的多个元素。 Id必须是唯一的,因为jquery会在找到第一个id后停止构建集合。

我已经更新您的提琴修复:

http://jsfiddle.net/p8CLN/6/

说明我还需要改变CSS并增加了使用next('.answer')的切换仅定位到为随后的回答所点击的问题。

 $(document).ready(function(){ 
      $(".question").click(function(){ 
      $(this).next(".answer").slideToggle("slow"); 
      }); 
     }); 
0

您为多个元素提供相同的ID。 该ID必须是唯一的。 一旦文件准备就绪。 on document.ready您可以绑定单击事件 您可以使用下一个作为解决方案。 这里是你不应该有每个ID出现了多次的例子

$(document).ready(function() 
{ 
$(".question").click(function() 
{ 
$(this).next(".answer).slideToggle("slow"); 
}); 
});