2013-08-24 40 views
1

第一次加载时我正在尝试激活第一个div,但它使除第一个以外的所有div都处于活动状态。 here它在jsfiddle上。手风琴主动式在第一次加载时不工作

$(".accordion > span").click(function(){ 
    $('.accordion > span').removeClass('active'); 

    $(this).addClass('active'); 
    if(false == $(this).next().is(':visible')) { 
     $('.accordion > div').slideUp(300); 
    } 
    $(this).next().slideToggle(300); 
}); 

var animationIsOff = $.fx.off; 
$.fx.off = true; 
$('.accordion > span:eq(0)').click() 
$.fx.off = animationIsOff; 

这里是HTML

<div class="accordion"> 
    <span>Accor 1</span> 
    <div> 
Content here 
    </div> 
</div> 

<div class="accordion"> 
    <span>Accor 2</span> 
    <div> 
Content here 
    </div> 
</div> 

<div class="accordion"> 
    <span>Accor 2</span> 
    <div> 
Content here 
    </div> 
</div> 

任何帮助,将不胜感激。

回答

1

你非常接近。

您需要做的只是为第一个跨度添加active类。

$('.accordion > span:eq(0)').addClass('active'); 

http://jsfiddle.net/ym2E3/2/

OR

您可以hide其他div

$('.accordion > span:not(:eq(0))').next('div').css('display','none'); 

http://jsfiddle.net/ym2E3/9/

+0

谢谢您的回答,但我想主动第一个div并不是所有div。 – Ask4Tec

+0

@ Ask4Tec查看我的第二个选项,我刚刚用例子编辑。 –

+0

非常感谢。 这就是我想要做的。 再次感谢。 – Ask4Tec