我有这样的标记:
<span id="tabPhp" class="infoData">PHP</span>
<span id="tabJquery" class="infoData">jQuery</span>
<span id="tabWordpress" class="infoData">WordPress</span>
<span id="tabCss3" class="infoData">CSS3</span>
<span id="tabMysql" class="infoData">MySQL</span>
<div class="infoExpand">
<p id="infoPhp">PHP</p>
<p id="infoJquery">jQuery</p>
<p id="infoWordpress">Wordpress</p>
<p id="infoCss3">CSS3</p>
<p id="infoMysql">MySQL</p>
</div>和这个jQuery:
$('.infoData').click(function(){
$('.infoExpand p').hide();
var id = this.id;
id = id.replace("tab", "info");
console.log(id);
$('.infoExpand, #' + id).slideToggle();
});默认情况下,div infoExpand设置为display:none,所以我想要发生的是,当用户单击span id tabPHP时,infoExpand和p id infoPhp一起滑下。这很好用,但是当用户点击另一个标签时,它只是滑动当前显示的p。我想让它在当前的标签上滑动,在他们点击的标签上滑动。
这有意义吗?
谢谢
发布于 2011-07-19 17:28:26
你可以这样做(更新):
$('.infoExpand p').hide();
$('.infoData').click(function(){
var id = this.id;
id = id.replace("tab", "info");
var clicked = $('.infoExpand #' + id);
if (clicked.is(':visible')){
clicked.slideToggle();
}else{
$('.infoExpand p:visible').slideToggle();
clicked.slideToggle();
}
});小提琴在这里:http://jsfiddle.net/35MfY/1/
https://stackoverflow.com/questions/6744930
复制相似问题