SlideToggle在第一个和最后一个div之间切换

时间:2017-03-07 20:35:16

标签: javascript jquery tabs toggle slidetoggle

我一直在使用jquery来创建一些标签。这是我的基本代码。

JSFiddle

我想设置它以便选项卡内容的初始打开是一个slideToggle,但随后在标签之间移动是标准切换,然后当用户单击该项目以关闭我希望它再次滑动切换的项目时。例如。

打开选项卡1 - SlideToggle,移至选项卡2 - 切换,移至选项卡3 - 切换,移至选项卡2 - 切换,关闭选项卡2 - slideToggle

这是可能的,如果是这样,我怎样才能做到这一点。我试图谷歌这个,但我似乎无法找到答案。

提前感谢您的帮助。

HTML

<div class="tab">Tab 1</div>
<div class="tab">Tab 2</div>
<div class="tab">Tab 3</div>

<div class="lrgWork"> Tab Content 1</div>
<div class="lrgWork"> Tab Content 2</div>
<div class="lrgWork"> Tab Content 3</div>

JS

    $('.tab').click(function() {
        var index = $(this).index();
        $('.lrgWork').eq(index).slideToggle().siblings('.lrgWork').hide();
    });

1 个答案:

答案 0 :(得分:0)

怎么样

var currentTabOpen=0;//keeps track of what tab is open
var tabOpen=false;//keeps track of whether a tab is opened
$('.tab').click(function() {
    var index=$(this).index();
    if(currentTabOpen==index||!tabOpen){//if we're either closing a tab, or opening one,
        $('.lrgWork').eq(index).slideToggle();//use the slide animation
        tabOpen=!tabOpen;//and now the tab is open if it was closed and vice versa
    }
    currentTabOpen=index;//make sure we're keeping track of the opened tab
    $('.lrgWork').eq(index).show().siblings('.lrgWork').hide();//don't use the animation
});

并在此处查看工作JSFiddle