jQuery手风琴bug

时间:2012-11-18 16:02:12

标签: jquery-ui jquery jquery-plugins jquery-selectors

在页面加载手风琴应该折叠...但是这里在页面加载它的扩展,我不知道如何解决这个错误?

$(document).ready(function()
{
    //Add Inactive Class To All Accordion Headers
    $('.accordion-header').toggleClass('inactive-header');

    //Set The Accordion Content Width
    var contentwidth = $('.accordion-header').width();
    $('.accordion-content').css({'width' : contentwidth });

    //Open The First Accordion Section When Page Loads
    $('.accordion-header').first().toggleClass('active-header').toggleClass('inactive-header');
    $('.accordion-content').first().slideDown().toggleClass('open-content');

    // The Accordion Effect
    $('.accordion-header').click(function () {
        if($(this).is('.inactive-header')) {
            $('.active-header').toggleClass('active-header').toggleClass('inactive-header').next().slideToggle().toggleClass('open-content');
            $(this).toggleClass('active-header').toggleClass('inactive-header');
            $(this).next().slideToggle().toggleClass('open-content');
        }

        else {
            $(this).toggleClass('active-header').toggleClass('inactive-header');
            $(this).next().slideToggle().toggleClass('open-content');
        }
    });

    return false;
});​

以下是我的代码的jsFiddle example

2 个答案:

答案 0 :(得分:0)

从您的示例中删除以下部分代码,它将按您期望的方式工作:

//Open The First Accordion Section When Page Loads
$('.accordion-header').first().toggleClass('active-header').toggleClass('inactive-header');
$('.accordion-content').first().slideDown().toggleClass('open-content');

jsFiddle Working Example

答案 1 :(得分:-3)

对我来说,只需在手风琴内容div中添加display:none就可以解决问题了:

$('.accordion-content').css({'width' : contentwidth }).css('display':'none');

以下是该动作的演示:http://jsfiddle.net/YsY7n/1/