你好,我在使用这款jQuery手风琴时遇到了困难。我想使用jQuery手风琴为移动平台显示内容,并在更大的屏幕尺寸上销毁手风琴。除了两个问题,一切都很好。
只有当文档窗口被重新调整大小并且在文档加载时不被销毁时,才会销毁手风琴。
一旦手风琴被摧毁,当我将文件窗口调整为移动尺寸时,我无法再次使手风琴工作。
这里有一些代码:
<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 });
}); // ]]>
答案 0 :(得分:1)
将destroy
替换为disable
,并为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);
Accordion documentation说destroy
方法
完全删除了手风琴功能 。这将使元素返回到初始化前状态。
答案 1 :(得分:1)
那你为什么不使用媒体查询在大屏幕上隐藏手风琴并在“小”屏幕上显示呢?
@media (max-width: 797px) {
. accordion {
display: block;
}
}
,您的默认样式是
.accordion {
display: none;
}
答案 2 :(得分:0)
不要启用和销毁你的手风琴。只需根据屏幕大小运行不同的功能。这对您来说是最简单的解决方案,然后您不必在屏幕大小调整上运行。