0

您好,我在使用这款 jQuery 手风琴时遇到了困难。我想在移动平台上使用 jQuery 手风琴显示内容,并在更大的屏幕尺寸上销毁手风琴。除两个问题外,一切正常。

  1. 手风琴仅在重新调整文档窗口大小时才会被破坏,而不会在文档加载时被破坏。

  2. 一旦手风琴被破坏,当我将文档窗口调整为移动尺寸时,我就无法让手风琴再次工作。

这是一些代码:

<div class="content-wrap">
            <div class="container">
                <div class="row">
                    <div class="content-fill">
                        <div class="content">
                            <div class="testimonials col-md-6 col-lg-6">
                                <h1>section 1</h1>
                                <p>this is a paragraph</p>
                            </div>
                            <div class="social col-sm-6 col-md-3 col-lg-3">
                                <h1>section 2</h1>
                                <div class="social-wrap">
                                    <a class="twitter-timeline" width="100%" data-chrome="transparent noscrollbar" href="https://twitter.com/xxxxxx" data-widget-id="383311602641952769">Tweets by @xxxxxx</a>
                                </div>
                            </div>
                            <div class="news col-sm-6 col-md-3 col-lg-3">
                                <h1>section 3</h1>
                                <p>this is a paragraph</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

  // <![CDATA[
     var $ = jQuery.noConflict(); $(document).ready(function()
    { 

        $('.content').addClass('accordion');

        $(window).resize(function() {
            if ($('.social').css('float') == 'left')    {
                $('.content').accordion('destroy');
            } else if($('.social').css('float') == 'none')   {
                $('.content').accordion('enable');
            }
        });

         $(".accordion").accordion({
            collapsible: true,
            header: "h1",
            heightStyle: "fill",
            });

            //getter variables
            var collapsible = $(".accordion").accordion("option","collapsible");
            var header = $(".accordion").accordion("option","header");
            var heightStyle = $(".accordion").accordion("option","heightStyle");

            $('.carousel').carousel({ interval: 4000, cycle: true }); 

        }); // ]]>
4

3 回答 3

1

替换destroydisable并向load事件添加处理程序:

function accordionSwitch() {
    if ($('.social').css('float') == 'left')    {
        $('.content').accordion('disable');
    } else if($('.social').css('float') == 'none')   {
        $('.content').accordion('enable');
    }
}

$(window).on('resize load', accordionSwitch);

手风琴文档说这种destroy方法

完全删除手风琴功能。这将使元素返回到它的预初始化状态。

于 2013-10-14T20:14:44.187 回答
1

那么为什么不使用媒体查询在大屏幕上隐藏手风琴并将其显示在“小”屏幕上呢?

@media (max-width: 797px) {
    . accordion {
        display: block;
    }
}

你的默认风格是

.accordion {
    display: none;
}
于 2013-10-14T20:18:01.253 回答
0

不要启用和破坏你的手风琴。只需根据屏幕大小运行不同的功能。这对您来说将是最简单的解决方案,然后您不必在调整屏幕大小时运行功能。

于 2013-10-14T20:20:10.160 回答