我正在尝试使用不同的锚点切换div。我已经设置了代码,使div“ content”的内容根据单击的锚点而改变。我需要实现的是不必单击两次以切换“内容” div,因为每个.block锚点都使用相同的slidetoggle。在第一个块已经打开之后单击第二个块时,它现在将关闭内容div。我希望它切换回关闭位置并再次打开。单击第二个已打开的块时,应将其自身关闭。看起来很简单,但我无法将头缠住...
HTML:
<div id="thumbnails">
<div title="thumb1" class="block">1</div>
<div title="thumb2" class="block">2</div>
<div title="thumb3" class="block">3</div>
</div>
<div id="content">
<div id="contentblock"></div>
</div>
jQuery的:
$(document).ready(function(){
$("#content").hide();
$(".block").click(function() {
$("#content").slideToggle("slow");
});
});
Fiddle
最佳答案
将单击的对象保存到变量中,然后检查它是否与当前对象(先前单击的对象)匹配。
$(document).ready(function(){
$("#content").hide();
var obj;
$(".block").click(function() {
$("#content").slideToggle("slow");
if(obj!==this)
$("#content").slideDown("slow");
obj=this;
});
});
Fiddle