0

我正在使用 ether-builder 插件来添加构建我的网站,它已经内置了手风琴作为小部件。我想启用可折叠功能,但不确定将代码放在 js 中的哪个位置。这是来自 ether-builder 插件的代码:

var accordion_init = function ($elem)
    {
        var $button = $elem.children('.' + egs.add_prefix('title'));
        var $content = $elem.children('.' + egs.add_prefix('content'));

        $content.hide();
        $button.each(function ()
        {
            if ($(this).hasClass(egs.add_prefix('current')))
            {
                $(this).next().stop(true).show(250);
            }
        });

        if ($elem.hasClass(egs.add_prefix('constrain-0')))
        {
            $button.click(function ()
            {
                $(this)
                    .toggleClass(egs.add_prefix('current'))
                        .next()
                            .toggle(250)
            });
        } else
        {
            $button.click(function ()
            {
                $(this)
                    .addClass(egs.add_prefix('current'))
                    .siblings().removeClass(egs.add_prefix('current')).end()
                        .next()
                            .show(250)
                            .siblings('.' + egs.add_prefix('content'))
                                .hide(250);
            });
        }
    };

    var tabs_init = function ($elem)
    {
        $('<div class="' + egs.add_prefix('ctrl-tabs-1') + '"></div>').insertBefore($elem.children(':first'));

        var $title = $elem.children('.' + egs.add_prefix('title'));
        var $content = $elem.children('.' + egs.add_prefix('content'));
        var $ctrl = $elem.find('.' + egs.add_prefix('ctrl-tabs-1'));

        $ctrl.append($title);
        $content.hide();
        $title
            .addClass(egs.add_prefix('ref'))
            .each(function(id) {
                if ($(this).hasClass(egs.add_prefix('current'))) {
                    $content.eq(id).stop(true).show();
                }
            })
            .click(function () {
                $(this).addClass(egs.add_prefix('current'))
                    .siblings().removeClass(egs.add_prefix('current'));
                $content.eq($(this).index()).show(250).siblings('.' + egs.add_prefix('content')).hide(250);
            })
    };

    var init_multi = function ()
    {
        var $elem = $('.' + egs.add_prefix('multi'));

        if ($elem.length > 0)
        {
            $elem.each(function()
            {
                var re = /(?:type)-(\w+)/;
                var type = class_attr_to_cfg_arr($(this), re)[1];

                if (type === 'acc')
                {
                    accordion_init($(this));
                } else if (type === 'tabs')
                {
                    tabs_init($(this));
                }
            });
        }

提前致谢。

4

0 回答 0