我正在尝试使用不同的锚点切换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

09-25 18:35
查看更多