源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jQuery之折叠面板的深入解析

  • 时间:2022-12-08 00:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery之折叠面板的深入解析
[b]1:折叠面板可以将不同分类的内容分别放在不同的面板中[/b],这些面板在页面中层叠摆放,用户可以通过单击各个面板的标题来展开该面板,查看面板的内容, 与此同时,将自动折叠隐藏其他面板 $(selector).accordion(options); [b]options可以选择的属性为: [/b]disabled, active, animated, autoHeight, clearStyle, collapsible, event, fillSpace, header, icons, navigation, navigationFilter 简单实例:
[url=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 style="margin:8px 0; padding:10px; height:50px; border:solid 1px #aaa;"> 这是另一个模块,将随着折叠面板的大小而改变位置 </div> </body> </html>
效果图: [img]http://files.jb51.net/file_images/article/201306/2013061915524116.png[/img] [b]2:自定义折叠面板图标 [/b]
<!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 style="width:220px; margin:10px 0;">     <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>
程序效果图:  [img]http://files.jb51.net/file_images/article/201306/2013061915524117.png[/img] [b]3:能自定义排列顺序的折叠面板 [/b]折叠面板可以作为分类项目的主面板来使用,因为操作习惯,用户通常希望能够自定义面板的位置
[url=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 style="width:300px; ">     <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>
[img]http://files.jb51.net/file_images/article/201306/2013061915524117.png[/img] [b]4:折叠面板的方法 [/b]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" class="ui-widget-content">     <!-- 折叠面析。其子元素中h3为面板标题,div为面板主体 -->     <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 class="ui-icon ui-icon-grip-dotted-horizontal" style="margin:2px auto;"></span> </div> <div style="margin:8px 0; padding:10px; width:300px; height:50px; border:solid 1px #aaa;"> 这是另一个模块,将随着折叠面板容器的大小而改变位置 </div> </body> </html>
效果图:   [img]http://files.jb51.net/file_images/article/201306/2013061915524118.png[/img] 上述代码首先将折叠面板初始化为可自动填充父元素的组件,然后设置容器可以自动调整大小,并在容器控件大小改变时调用折叠面板的resize方法, 最后实现一起调整大小的效果 [b]5:折叠面板的事件 [/b]change和changestart事件
[u]复制代码[/u] 代码如下:
  $("#accordion").accordion({      change: function(event, ui) {      },      changestart: function(event, ui) {      }    })
[b]*event: 触发的事件对象 *ui:视图对象[/b],有4个属性,即newHeader, 表示当前面板标题;oldHeader,表示前一个面板的标题,newContent:表示当前面板内容;oldContent, 表示前一个面板内容, 这些返回的都是jQuery对象
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部