手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery之折叠面板的深入解析
jQuery之折叠面板的深入解析
摘要:1:折叠面板可以将不同分类的内容分别放在不同的面板中,这些面板在页面中层叠摆放,用户可以通过单击各个面板的标题来展开该面板,查看面板的内容,...

1:折叠面板可以将不同分类的内容分别放在不同的面板中,这些面板在页面中层叠摆放,用户可以通过单击各个面板的标题来展开该面板,查看面板的内容,

与此同时,将自动折叠隐藏其他面板

$(selector).accordion(options);

options可以选择的属性为:

disabled, active, animated, autoHeight, clearStyle, collapsible, event, fillSpace, header, icons, navigation, navigationFilter

简单实例:

复制代码 代码如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>Accordion AutoHeight</title>

<link rel="stylesheet" href="themes/base/jquery.ui.all.css">

<script src="JS/jquery-1.4.2.min.js"></script>

<script src="JS/jquery.ui.core.js"></script>

<script src="JS/jquery.ui.widget.js"></script>

<script src="JS/jquery.ui.accordion.js"></script>

<script>

$(function() {

$( "#accordion" ).accordion({

autoHeight: false

});

});

</script>

<style type="text/css">

#accordion h3{ font-size:13px; font-weight:700; }

#accordion>div{ font-size:12px; }

</style>

</head>

<body>

<div id="accordion">

<h3><a href="#">标题 1</a></h3>

<div>

这是一段较少的内容<br />

</div>

<h3><a href="#">标题 2</a></h3>

<div>

这是一段很长的内容<br />这是一段很长的内容<br />

这是一段很长的内容<br />这是一段很长的内容<br />

这是一段很长的内容<br />这是一段很长的内容<br />

这是一段很长的内容<br />这是一段很长的内容<br />

</div>

</div>

<div>

这是另一个模块,将随着折叠面板的大小而改变位置

</div>

</body>

</html>

效果图:

jQuery之折叠面板的深入解析1

2:自定义折叠面板图标

复制代码 代码如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>Accordion Icon</title>

<link rel="stylesheet" href="themes/base/jquery.ui.all.css">

<script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="JS/jquery.ui.core.js"></script>

<script type="text/javascript" src="JS/jquery.ui.widget.js"></script>

<script type="text/javascript" src="JS/jquery.ui.accordion.js"></script>

<script>

$(document).ready(function() {

var triangle_icon = {

header : "ui-icon-triangle-1-e",

headerSelected : "ui-icon-triangle-1-s"

};

var circle_arrow_icon = {

header: "ui-icon-circle-arrow-e",

headerSelected: "ui-icon-circle-arrow-s"

};

/* 初始化折叠面板 */

$('#accordion').accordion();

$( "#toggle" ).toggle(function() {

$( "#accordion" ).accordion( "option", "icons", circle_arrow_icon );

}, function() {

$( "#accordion" ).accordion( "option", "icons", triangle_icon );

});

});

</script>

<style type="text/css">

body{ padding:30px; }

#accordion h3{ font-size:13px; font-weight:700; }

#accordion>div{ font-size:12px; }

</style>

</head>

<body>

<div>

<div id="accordion">

<h3><a href="#">标题 1</a></h3>

<div>

这是一段内容<br />

</div>

<h3><a href="#">标题 2</a></h3>

<div>

这是一段内容<br />

</div>

</div>

</div>

<input id="toggle" value="切换图标" type="button" />

</body>

</html>

程序效果图:

jQuery之折叠面板的深入解析2

3:能自定义排列顺序的折叠面板

折叠面板可以作为分类项目的主面板来使用,因为操作习惯,用户通常希望能够自定义面板的位置

复制代码 代码如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>AccordionSortable</title>

<link rel="stylesheet" type="text/css" href="themes/base/jquery.ui.all.css"/>

<script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="JS/jquery.ui.core.js"></script>

<script type="text/javascript" src="JS/jquery.ui.widget.js"></script>

<script type="text/javascript" src="JS/jquery.ui.mouse.js"></script>

<script type="text/javascript" src="JS/jquery.ui.sortable.js"></script>

<script type="text/javascript" src="JS/jquery.ui.accordion.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$("#accordion")

.accordion({

header: "> div > h4" //指定标题为该面板容器下的div标签中的h4元素

})

.sortable(); //可以将其封装为可排序的控件

});

</script>

<style>

body{ padding:30px; }

#accordion{ font-size:12px; }

#accordion>div>h3{ font-size:13px; font-weight:700; }

</style>

</head>

<body>

<div>

<div id="accordion">

<div>

<h4><a href="#">标题 1</a></h4>

<div>

这是一段内容<br />

</div>

</div>

<div>

<h4><a href="#">标题 2</a></h4>

<div>

这是一段内容<br />

</div>

</div>

<div>

<h4><a href="#">标题 3</a></h4>

<div>

这是一段内容<br />

</div>

</div>

</div>

</div>

</body>

</html>

jQuery之折叠面板的深入解析2

4:折叠面板的方法

destroy, disable, enable, option, widget, activate, resize

$('#accordion').accordion("activate", 2);

复制代码 代码如下:

<!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>

<meta charset="GBK">

<title>Accordion Resize</title>

<link rel="stylesheet" href="themes/base/jquery.ui.all.css">

<script src="JS/jquery-1.4.2.min.js"></script>

<script src="JS/jquery.ui.core.js"></script>

<script src="JS/jquery.ui.widget.js"></script>

<script src="JS/jquery.ui.mouse.js"></script>

<script src="JS/jquery.ui.resizable.js"></script>

<script src="JS/jquery.ui.accordion.js"></script>

<script>

$(document).ready(function(){

$( "#accordion" ).accordion({

fillSpace : true /* 设置为自动填充父元素空间 */

});

/* 将容器设置为可改变大小的,

最小高度为150,

并且在改变大小的时候调用折叠面板的resize方法 */

$( "#container" ).resizable({

minHeight : 150,

resize : function() {

$( "#accordion" ).accordion( "resize" );

}

});

});

</script>

<style type="text/css">

#accordion h3{ font-size:13px; font-weight:700; }

#accordion>div{ font-size:12px; }

#container{ padding:10px; width:300px; height:180px; }

</style>

</head>

<body>

<>

<div id="container">

<>

<div id="accordion">

<h3><a href="#">标题 1</a></h3>

<div>

这是第一段内容<br />

<ul>

<li>列表项 1</li><li>列表项 2</li><li>列表项 3</li>

</ul>

</div>

<h3><a href="#">标题 2</a></h3>

<div>

这是第二段内容<br />这是第二段内容<br />

</div>

<h3><a href="#">标题 3</a></h3>

<div>

这是第三段内容<br />这是第三段内容<br />这是第三段内容<br />

</div>

</div>

<>

<span></span>

</div>

<div>

这是另一个模块,将随着折叠面板容器的大小而改变位置

</div>

</body>

</html>

效果图:

jQuery之折叠面板的深入解析3

上述代码首先将折叠面板初始化为可自动填充父元素的组件,然后设置容器可以自动调整大小,并在容器控件大小改变时调用折叠面板的resize方法,

最后实现一起调整大小的效果

5:折叠面板的事件

change和changestart事件

复制代码 代码如下:

$("#accordion").accordion({

change: function(event, ui) {

},

changestart: function(event, ui) {

}

})

*event: 触发的事件对象

*ui:视图对象,有4个属性,即newHeader, 表示当前面板标题;oldHeader,表示前一个面板的标题,newContent:表示当前面板内容;oldContent, 表示前一个面板内容,

这些返回的都是jQuery对象

【jQuery之折叠面板的深入解析】相关文章:

jQuery实现dialog设置focus焦点的方法

jQuery取消ajax请求的方法

jQuery构造函数init参数分析续

jQuery实现自动滚动到页面顶端的方法

JQuery中DOM事件合成用法实例分析

原生JS和JQuery动态添加、删除表格行的方法

jQuery实现转动随机数抽奖效果的方法

Jquery动态添加输入框的方法

jQuery页面的滚动位置scrollTop、scrollLeft

jQuery实现首页图片淡入淡出效果的方法

精品推荐
分类导航