JQuery UI accordion学习笔记
一个简单的JQuery UI accordion例子如下:
<!DOCTYPE html>
<html>
<head>
? <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
? <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
? <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
? <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.accordion.js"></script>
? <script type="text/javascript">
? $(document).ready(function(){
??? $("#accordion").accordion();
? });
? </script>
</head>
<body style="font-size:62.5%;">
?
<div id="accordion">
??? <h3><a href="#">Section 1</a></h3>
??? <div>
??? ??? <p>
??? Section 1 content.
??? ??? </p>
??? </div>
??? <h3><a href="#">Section 2</a></h3>
??? <div>
??? ??? <p>
??? ??? Section 2 content.
??? ??? </p>
??? </div>
??? <h3><a href="#">Section 3</a></h3>
??? <div>
??? ??? <p>
??? ??? Section 3 content.
??? ??? </p>
??? </div>
</div>
</body>
</html>
选项:
以下所有例子中的$('#accordion')的语法是$('.selector'),由于我上面的例子中的selector(选择器是)$('#accordion'),所以下面的例子出现的全是$('#accordion')了.
1.1 active 这个参数是设置默认选项的,默认情况下是0,也就是第一个。
如上面的例子中所示,当没有指定它的值时,默认选择是0.所以显示的是Section 1中的内容:Section 1 content.
初始化设置改为:$('#accordion').accordion({ active: 1 });时,则初始显示的是Section 2中的内容:Section 2 content.
在初始化之后的获取和设置此项值的例子:
//获取 var active = $('#accordion').accordion('option', 'active');
//设置,将值设为1 $('#accordion').accordion('option', 'active', 1);
1.2 animated 这个参数是设置动画效果 默认选项是‘slide’
可以设置你喜欢的动画效果,或不使用动画效果(设置为false),除了默认设置,还可以使用'bounceslide'和'easeslide'效果,这时需要UI Effects Core .
初始化设置例: $('#accordion').accordion({ animated: 'bounceslide' });
在初始化之后的获取和设置实例:
//获取? var animated = $('#accordion').accordion('option', 'animated');
//设置? $('#accordion').accordion('option', 'animated', 'bounceslide');
1.3 autoHeight 默认是true,如果设置,所有内容部分的高被设定为其中最高内容的高。 初始化设置:$('#accordion').accordion({ autoHeight: false });
初始化以后的获取或设置
//获取 var autoHeight = $('#accordion').accordion('option', 'autoHeight');
//设置? $('#accordion').accordion('option', 'autoHeight', false);
1.4 clearStyle 默认是false.如果设置,则会把accordion默认设置的height或其它的样式清除掉.如果你的accordin项中的内容是动态的话,设置这项是一种很好的选择.
这一项不能和选项autoHeight一起使用.因为它们是冲突的.
初始化设置 $('#accordion').accordion({ clearStyle: true });
设置这一项后,你会发现你的每一个accordion时section所占的高度(或空间)会不一致的,也就是随它们的内容多少而改变高度(或空间).
初始化后的获取和设置如下:
//获取 var clearStyle = $('#accordion').accordion('option', 'clearStyle');
//设置 $('#accordion').accordion('option', 'clearStyle', true);
1.5 collapsible 默认选项是false.如果设置这项,则所有的accordion sections都能折叠起来,当点击同一个部分时,section会在折叠和展开之间切换.
初始化设置:$('#accordion').accordion({ collapsible: true });
初始化以后的获取或设置
//获取 var autoHeight = $('#accordion').accordion('option', 'collapsible');
//设置? $('#accordion').accordion('option', 'collapsible', false);
1.6? event 默认是'click' . 如何展开选项。可以设置成双击、鼠标滑过等。
初始化设置例:$('#accordion').accordion(event:"mouseover");
初始化后的获取或设置
//获取var event = $('#accordion').accordion('option', 'event');
//设置$('#accordion').accordion('option', 'event', 'mouseover');
1.7 fillSpace ,充满父元素的高(如果在没有被其他容器包容时,也就是你第一次选择显示的accrodion部分的高),默认为false ,使用此项,autoHeight无效。
(注意:clearStyle,autoHeight,fillSpace三项的区别:
个人经验是:clearStyle是每个section都根据自己的内容调整自己的高度,sections相互之间不影响)
autoHeight: 所有的sections都以他们之中最高的那部分的高度作为基准.
fillSpace: 则是根据初始化时,默认显示的那部分(也就是active的值)的高度为基准(这有个条件就是accordion没有受其他的容器的限制,也就是没有置于其他的容器中时).
初始化设置例:$('#accordion').accordion({ fillSpace: true });???
和active一起使用的实例:$('#accordion').accordion({active: 1, fillSpace: true });
初始化后的获取和设置请参考上面的 ,此处省略。
1.8? header,设置头元素,默认值为:'> li > :first-child,> :not(li):even' (JQuery ui官网的文档上是这么写的,但到现在我也不太明白这是为啥,希望明白的哪位兄弟能告诉我一下,在这先谢谢了).
默认情况下,accordion的header元素是anchors,如上面的例子或例2中所示:
例子2:
<div id="accordion">
??? <a href="#">First header</a>
??? <div>First content</div>
??? <a href="#">Second header</a>
??? <div>Second content</div>
</div>
如果你使用了不同的元素作为header,则只需用选项header明确说明即可.如例子3所示,使用了<h1>标记header元素:
<div id="accordion">
??? <h1>First header</h1>
??? <div>First content</div>
??? <h1>Second header</h1>
??? <div>Second content</div>
</div>
则只需使用??? $('#accordion').accordion({ header: 'h1' });指定header元素是h1即可.如果你的accordion内容中有包含有链接,而同时你又是使用<a>元素作为headers,此时你只需给那些作为header的<a>元素增加一个class属性即可.
如<a class="header">然后使用:$('#accordion').accordion({ header: 'a.header' });问题即可解决!
//getter var header = $('.selector').accordion('option', 'header');
//setter $('.selector').accordion('option', 'header', 'h3');
1.9
详细解决方案
JQuery UI accordion学习札记
热度:235 发布时间:2012-11-23 22:54:33.0
1 楼
夜之son
2010-10-26
翻译的还算可以、谢谢了。
2 楼
javaEEdevelop
2010-12-13
怎样我不能设重新设置属性和获取属性
相关解决方案
- jquery 获取jsp页面的id解决方法
- jquery,二维数组取值。解决办法
- 求jquery.form.js+jquery.validate.min.js 用ajax提交表单的代码范例
- jquery 提交form表单不用插件的那种 如何提交
- jquery ajax回传没有值,该怎么处理
- jquery easyUI datagrid struts2有关问题
- jquery form 有关问题
- springmvc jquery ajax 提交复杂对象,415异常解决办法
- 应用Struts2 与 jquery,ajax验证用户注册,不用从数据库获取数据
- jquery ajax select解决方法
- php jquery check username ajax检察帐号唯一性
- jquery ajax返回值的有关问题
- jquery 或js 获取指定字符间的字符串,并轮换。回答出来的是大神级~
- jquery 的bind里面能不能获得返回值呢? 对小弟我很难的有关问题啊
- jquery 的uploadify下传图片怎么让出错信息提示成中文
- java+jquery easy ui + json + struts分页例子
- jquery easyui分页效率有关问题
- jquery 如何获得动态添加后的子元素个数?
- jQuery.ajax()请求struts2数据 回到data值了undefined
- 关于Struts2 jQuery Plugin的 Result,该如何处理
- Jquery 点击按钮实现图片翻页,该如何解决
- jquery 关于监听checkbox的选中和不选中事件,该如何解决
- jQuery append动态添加的页面对象如何处理刷新掉
- Jquery+json解决思路
- jquery post有关问题
- 求大神解决偏题 - jquery ajax
- jquery $.ajax有关问题
- jquery td遍历有关问题
- jquery ui taps有关问题,求解!
- jquery easyui 如何设置标题列居左,里面的数据列居右