jQueryUI1.10.0新版本学习(widget-Accordion)

2023-10-09 23:08

本文主要是介绍jQueryUI1.10.0新版本学习(widget-Accordion),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本次学习的主要内容是关于新版jQueryUI的可折叠面板控件Accordion

1.默认功能的可折叠面板

默认功能的可折叠面板提供了通过鼠标点击标题栏来展开或者收起面板内容的功能。如图:


构建这个可折叠面板十分简单。HTML如下:

<!DOCTYPE html><html lang="zh_CN"><head><meta charset="utf-8"><title>jQueryUI学习</title><script type="text/javascript" src="jQueryUI/js/jquery-1.9.0.js"></script><script type="text/javascript" src="jQueryUI/js/jquery-ui-1.10.0.custom.js"></script><link rel="stylesheet" href="jQueryUI/css/smoothness/jquery-ui-1.10.0.custom.css" type="text/css" /><link rel="stylesheet" href="css/main.css" type="text/css"/><script src="js/main.js"></script></head><body><div id='accordion'><h3>折叠面板1</h3><div>面板内容A</div><h3>折叠面板2</h3><div>面板内容B</div><h3>折叠面板3</h3><div>面板内容C</div></div></body>
</html>
这里jQueryUI通过h3来识别每个新的面板标题,随后的一个div即为面板内容。

构建了类似此种HTML结构以后,只需要在js上调用一下accordion方法即可对这个网页对象应用jQueryUI的可折叠风格面板。

$(document).ready(function(){$('#accordion').accordion();
});

2.可全折叠设置

和tabs控件一样,这个accordion控件也支持collapse属性,应用此属性可以使鼠标在单击同一个可折叠面板的标题上应用收起功能,将全部的面板都收起来。

$(document).ready(function(){$('#accordion').accordion({collapsible: true});
});
3.高度自适应设置

accordion控件可以通过设置 heightStyle: "content" ,达到控件高度依据面板内容变化的效果。

$(document).ready(function(){$('#accordion').accordion({heightStyle: "content"});
});
不过感觉效果有略微的抖动。

4.拖拽改变折叠面板顺序

通过sortable可以实现拖拽来改变折叠面板的顺序。如图:


这里和tabs控件的sortable使用方法类似。不过HTML应该使用div将每个面板包起来,然后通过设置header来区分可折叠面板的标题和内容。

如下HTML:

<div id='accordion'><div class="group"><h3>折叠面板1</h3><div>面板内容A</div></div><div class="group"><h3>折叠面板2</h3><div>面板内容B<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul></div></div><div class="group"><h3>折叠面板3</h3><div>面板内容C</div></div>
</div>
js如下:

$(document).ready(function(){$('#accordion').accordion({header: "> div > h3"}).sortable({axis: "y",handle: "h3",stop: function( event, ui ) {// 由于在拖拽排序的时候IE浏览器不会模糊,所以这里启用focusoutui.item.children( "h3" ).triggerHandler( "focusout" );}});
});

5.可折叠面板小图标的更换

可以通过icons来调整图标。

如图,通过设定一个带有header和activeHeader的对象的icons值,来更换另一种面板小图标。


js如下:

$(document).ready(function(){var icons = {header: "ui-icon-circle-arrow-e",activeHeader: "ui-icon-circle-arrow-s"};$('#accordion').accordion({icons: icons});
});

6.大小可调的折叠选项卡

通过配置heightStyle 为fill可以让折叠选项卡根据外部框的大小而自动改变自身大小,调整内容排布。


先看HTML和CSS:

CSS:

#accordion-resizer {padding: 10px;width: 350px;height: 220px;
}
HTML:
<div id="accordion-resizer" class="ui-widget-content"><div id='accordion'><h3>折叠面板1</h3><div>面板内容A</div><h3>折叠面板2</h3><div>面板内容B<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul></div><h3>折叠面板3</h3><div>面板内容C</div></div></div>
这里在可折叠面板的外面加入了一个区域div,初始大小是规定了的。

JS:

$(document).ready(function(){$('#accordion').accordion({heightStyle: "fill"});$( "#accordion-resizer" ).resizable({minHeight: 140,minWidth: 200,resize: function() {$( "#accordion" ).accordion( "refresh" );}});
});
然后通过上述js,分别修改了可折叠面板的高度类型为fill,使之可以适应外部的div。

第二个加入resizable是为了使外部的div大小可以通过鼠标拖动调整。每次调整以后,调用accordion的refresh来刷新可折叠面板的变化。


如上,就是基本的可折叠面板控件的用法,大家还可以在官网API获得更多的信息与用法资料。




这篇关于jQueryUI1.10.0新版本学习(widget-Accordion)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/176212

相关文章

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔