我现在在我的网站上有一个jQuery手风琴,它似乎工作正常,直到我今天检查它并且它被打破了。几个星期以来我没有碰过HTML。我再次经历了accordion documentation,似乎没有任何改变,所以我不知道发生了什么。
我将手风琴“active”属性设置为“false”,这样手风琴就不会在文档加载时显示活动部分。我也将“可折叠”设置为“true”,就像指定的文档一样。为了确保它不是页面上的另一个元素,我创建了一个全新的页面,其上只包含最基本的手风琴元素,但它仍然不起作用。
问题在于,在点击第一个手风琴部分后,点击任何其他部分不起作用 - 你仍然坚持打开该部分。我注意到删除“活动”属性完全解决了这个问题,但当然有一个活动部分打开文档加载,我不想要。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$("#accordion").accordion({active: false, alwaysOpen: true, autoHeight: false, collapsible: true});
});
</script>
</head>
<body>
<div id="accordion">
<p><a href="#">1</a></p>
<div>this</div>
<p><a href="#">2</a></p>
<div>isn't</div>
<p><a href="#">3</a></p>
<div>working</div>
<p><a href="#">4</a></p>
<div>correctly</div>
</div>
</body>
</html>
我还注意到,如果我删除active:false,并保留collapsible:true,我只能“折叠”一个部分两次,然后同样的事情发生 - 部分锁定并停止折叠/打开。 / p>
答案 0 :(得分:3)
好吧,我立即看到了以下问题:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
如果不指定revision(版本中的最后一位数字),您将自动获得jQuery和jQuery UI的最新版本。那么为什么它突然停止为你工作是因为jQuery UI得到了更新,并且对UI手风琴进行了更改。
解决此问题的最佳方法是指定修订版。从当前版本(1.8.7)向下走,直到它为你工作。例如,已删除或更改alwaysOpen
打开。您应该查看docs并查看可用的选项。
另外,你可以尝试使用jsFiddle:
$(function(){
$("#accordion").accordion({
active: false,
autoHeight: false,
collapsible: true
});
});
答案 1 :(得分:0)
<强> heightStyleType 强>
控制手风琴和每个面板的高度。可能的值:
&#34;自动&#34; :所有面板都将设置为最高面板的高度。
&#34; fill&#34; :根据手风琴的父高度扩展到可用的高度。
&#34;内容&#34; :每个小组的内容都与其内容一样高。
代码示例:
$(function(){
$("#accordion").accordion({
active: false,
heightStyle: "content",
collapsible: true
});
});