jquery - 带有两个 div 的 slideToggle

标签 jquery html css show-hide slidetoggle

我对 slidetoggle 没有什么问题: 我有 2 个 div:

<div class="slidingDiv"></div>
<div class="slidingDiv2"></div>

和 2 个按钮:

<a href="#" class="show_hide2">Butt2</a>
<a href="#" class="show_hide">Butt1</a>

如果我点击 Butt1,它会打开 slidingDiv//ok 如果我再次点击它关闭 slidingDiv//ok

它也适用于 Butt2

但是,我想,如果 slidingDiv 已经打开,如果我点击 Butt2,它会打开 slidingDiv2 并关闭 slidingDiv,如果 slidingDiv2 已经打开,如果我点击 Butt1,它会打开 slidingDiv 并关闭 slidingDiv2.

我想,我必须使用 hasClass、removeClass 和 addClass,但我不知道该怎么做

谢谢你的帮助

伊夫

代码:

$(document).ready(function(){
    $(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').click(function(){
        $(".slidingDiv").slideToggle();
    });

    $(".slidingDiv2").hide();
    $(".show_hide2").show();

    $('.show_hide2').click(function(){
         $(".slidingDiv2").slideToggle();
    });
});

最佳答案

尝试

<a href="#" class="show_hide" data-target=".slidingDiv">Butt2</a>  
<a href="#" class="show_hide" data-target=".slidingDiv2">Butt1</a>

<div class="slidingDiv slider">slidingDiv</div>
<div class="slidingDiv2 slider">slidingDiv</div>

然后

$(document).ready(function () {
    //all target div's which has to be toggled has the class slider
    var $sliders = $(".slider").hide();
    //all anchors which has to trigger the slide has the class show_hide and has a data-* property data-target whose value is the selector to find the target div
    $(".show_hide").show();

    $('.show_hide').click(function () {
        var $target = $($(this).data('target'));
        $sliders.not($target).stop(true, true).slideUp();
        $target.stop(true, true).slideToggle();
    });
});

演示:Fiddle

关于jquery - 带有两个 div 的 slideToggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21016828/

相关文章:

Javascript:如何获取选中复选框的所有值,推送到数组然后放入输入 HTML 元素中?

javascript - 以编程方式在 <canvas> 的 fillStyle 中使用 RGBa 值?

html - 如何在不增加 <span> 大小的情况下使用 'line-height'

html - 要成为内联 block 的部分

jquery - 如何获取jquery中可排序的列表值

javascript - 谷歌地图有多个位置

html - 表格单元格在行内的高度不同

javascript - 使用 JavaScript 倒数

javascript - 用鼠标旋转div

jquery - 获取用户选择新单选按钮之前选择的单选按钮的值