+ -
当前位置:首页 → 问答吧 → jquery处理点击标题后展开答案的问题

jquery处理点击标题后展开答案的问题

时间:2009-07-24

来源:互联网

一段jquery代码,当点击标题时,出来的是答案,点击其他标题时,则隐藏前面点过的标题,展现当前点击的答案,但是如果现在在点击前面同一个点过的标题,则重新隐藏一下然后再展开,现在要点击已经点击过的标题没有反应,该怎么做,具体问题是出在
$("*[class^=answer]").hide();这句,我用正则去匹配,所以引起前面的现象,已知标题的class是questing1,questiong2,question3...
答案是answer1,answer2,answer3...,所有的answer默认css是display:none,请问谁能帮忙解答下,谢谢,代码如下。


$(document).ready(function() {
var index = 0;
$("*[class^=question]").mouseover(function(){
index = $(this).attr("class").substring(8);
}).click(function(){
$("*[class^=answer]").hide();
$(".answer" + index).slideToggle("slow").css("display","block");
});
});



<div class="xhtml">
  <span><img class="pic" src="image/dot.gif" alt="" />FAQ</span>
<p class="question1">
  <a href="javascript:;">1.name</a>
</p>
<p class="answer1">
coming soon.<br />
coming soon.<br />
coming soon.<br />
coming soon.<br />
coming soon.<br />
</p>
<p class="question2">
  <a href="javascript:;">2.name</a>
</p>
<p class="answer2">
coming soon.<br />
coming soon.<br />
coming soon.<br />
coming soon.<br />
coming soon.<br />
</p>
</div>


.answer1,.answer2 {
display:none;
}

作者: conroe   发布时间: 2009-07-24

toggle 大体思路:当你点击这条问题时,function(){判断除了当前问题外的css样式,if(p.className==''){p.dislay='none';}else{currentP.style.display='block';}}

作者: quweiie   发布时间: 2009-07-24

相关阅读 更多