关于jQuery UI 使用心得及技巧


Posted in Javascript onOctober 10, 2012

1 jQuery UI
2 为我所用

2.1 Tabs

2.2 Accordion

2.2.1 使用基本的Accordion

2.2.2 实现打开多个标签

2.2.3 Accordion的嵌套
3 给插件应用主题——Theme Roller

3.1 更改配色

3.2 更改图标
4 相关连接

jQuery UI

关于jQuery UI 使用心得及技巧

有时你仅仅是为了实现一个渐变的动画效果而不得不把javascrip 重新学习一遍然后书写大量代码。直到jQuery的出现,让开发人员从一大堆繁琐的js代码中解脱,取而代之几行jQuery代码。现今,jQuery无疑已成为最为流行没有之一的JavaScript类库。

而jQuery UI 则是在jQuery 基础上开发的一套界面工具,几乎包括了网页上你所能想到和用到的插件以及动画特效,让一个毫无艺术感只知道码字的码农不费吹灰之力就可以做出令人炫目的界面。让你在做界面的时候随便‘拿来'就用,还有一点就是,它是免费开源的,用户可根据需要自定义甚至重新设计。

2 为我所用

下面以Tabs和Accordion插件来看看如何在项目中使用jQuery UI。其他插件的详尽使用文档及演示在这里可以学习到,只不过是英文的。

2.1Tabs

Tabs 形式的插件在网页及桌面应用程序中都使用得相当广泛,可以用作菜单,也可做为一小部分内容的选项卡

关于jQuery UI 使用心得及技巧

首先在VS2010新建一个MVC项目,要使用jQuery UI,首先要把jQuery及jQuery UI 脚本文件包含在项目当中,并且相关页面要用<script>标签进行引用。当我们创建好一个MVC项目后,在Scripts文件夹里,系统已经自动把jQuery及jQuery UI 脚本文件包含在项目当中了(如图1)。

关于jQuery UI 使用心得及技巧

图 1

注释:图中jquery-1.5.1-vsdoc.js为包含完整提示注释的版本,在VS里编写代码时会有智能地显示提示信息及注释;jquery-1.5.1.js为标准版本;带min的为压缩精简后的版本,为的是在客户端减少下载时间。一般页面中我们会使用精简的版本,只要项目文件夹包含jquery-1.5.1-vsdoc.js,VS会自动调用里面的提示信息。

现在需要做的就是在页面将它包含进来。由于创建好项目后,系统在Site.Mater页面中已经将jQuery引用到页面,这意味着所有使用了母版页的页面都默认引用了jQuery,所以我们在index页面只需要添加对是jQuery UI文件的声明:

<script src="http://www.cnblogs.com/Scripts/jquery-ui-1.8.11.min.js" type="text/javascript" ></script>

为了在页面上呈现Tabs插件,我们需要定义一个Div,并且在<script>脚本代码里面选中它,在它身上应用tabs方法。

<div id="tabs"> 
</div> 
<script type="text/javascript"> 
$(document).ready(function () { 
$("#tabs").tabs(); 
}) 
</script>

现在运行程序不会看到任何东西,因为我们还没有往主体Div中定义要显示的tab,只是定义好了一个可以放tabs的地方。现在tabs Div中定义一个无序列表,列表项决定了要显示的标签个数及要显示的标签名称。
<div id="tabs"> 
<ul> 
<li><a href="#tabs-1">Tabs1</a></li> 
<li><a href="#tabs-2">Tabs2</a></li> 
<li><a href="#tabs-3">Tabs3</a></li> 
</ul> 
<div id="tabs-1"> 
<p>content of tab one</p> 
</div> 
<div id="tabs-2"> 
<p>content of tab two</p> 
</div> 
<div id="tabs-3"> 
<p>content of tab three</p> 
</div> 
</div>

这里定义3个列表项,名称分别为Tabs1、Tabs2、Tabs3,列表下方的三个Div对应着上面定义的三个标签,用来呈现每个标签里面要显示的正文。页面部分基本完工。运行程序:

关于jQuery UI 使用心得及技巧

图 2

值得注意的是,进行到这一步并没有出现图0中的效果,tabs样式没有应用上。原因只可能有一个,那就是样式表。后来谷歌一下果然是没有把相应的样式表包含到页面。这在官方的Demo里也没有提及,也没给出相应的注意,我觉得这里Demo不该省略点如果重要的一句代码的,不一定每个第一次使用jQuery UI人都能快速找到问题。对于每一个新手,在进行到这一步都需要去谷歌一下为什么效果没出来。找到问题后解决起来就很简单了。在页面里加上对jQuery UI 样式表的引用。

 

关于jQuery UI 使用心得及技巧

图 3

最后完整的代码大概是这样的。

<link href="https://3water.com/Content/themes/base/jquery.ui.all.css"type="text/css"rel="stylesheet"/> 
<script src="https://3water.com/Scripts/jquery-ui-1.8.11.min.js" type="text/javascript"></script> 
<div id="tabs"> 
<ul> 
<li><a href="#tabs-1">Tabs1</a></li> 
<li><a href="#tabs-2">Tabs2</a></li> 
<li><a href="#tabs-3">Tabs3</a></li> 
</ul> 
<div id="tabs-1"> 
<p>content of tab one</p> 
</div> 
<div id="tabs-2"> 
<p>content of tab two</p> 
</div> 
<div id="tabs-3"> 
<p>content of tab three</p> 
</div> 
</div> 
<script type="text/javascript"> 
$(document).ready(function () { 
$("#tabs").tabs(); 
}) 
</script>

由于是用的MVC模板生成的项目,所以在Content/themes/base文件夹里已经放入了jQuery UI的CSS样式表,如果没有,你需要单独下载然后放到项目中,并在页面正确引用。

现在再来刷新一下页面,效果就出来了。

 

关于jQuery UI 使用心得及技巧

图 4

既然是用样式表控制的,代表着我们可以随意对它进行自定义,换颜色等,这在后面的应用样式 里介绍。

3.2更改图标

不仅仅是颜色,jQuery UI的主题里面,也为我们预设了很多图标可供选择,在网页上我们可以看到有一大堆丰富的图标。这些图标的颜色对应你所下载的主题,包含在了imges文件夹中。

 

关于jQuery UI 使用心得及技巧

图 17

 

问题是在这么多图标中如何准确指定我们想要的那一个。比如现在想把Accordion标题左边的三角形图标改成线条形的尖角形状。

下面只是个人提供的一个小技巧。将鼠标指到你想要的图标身上,会出现tooltip提示文本,这个文字就对应这个图标。

 

关于jQuery UI 使用心得及技巧

图 18

现在我们得到这个名字后,就可以到脚本代码里去进行修改了。

<script type="text/javascript"> 
$(document).ready(function () { 
$("#tabs").tabs(); 
$("#accordion1").accordion({ collapsible: true, autoHeight: false, 
icons: { "header": "ui-icon-carat-1-n", "headerSelected": "ui-icon-carat-1-s" } 
}); 
$("#subaccortion").accordion({ collapsible: true, active:false , 
icons: { "header": "ui-icon-carat-1-n", "headerSelected": "ui-icon-carat-1-s" } 
}); 
$("#accordion2").accordion({ collapsible: true, autoHeight: false , 
icons: { "header": "ui-icon-carat-1-n", "headerSelected": "ui-icon-carat-1-s" } 
}); 
$("#accordion3").accordion({ collapsible: true, autoHeight: false, 
icons: { "header": "ui-icon-carat-1-n", "headerSelected": "ui-icon-carat-1-s" } 
}); 
}) 
</script>

最后来看下效果,perfect.

关于jQuery UI 使用心得及技巧

图19

到这里基本介绍了jQuery UI的使用过程。当然,jQuery UI不只包含tabs和accordion 这两个插件,其他的插件及效果的使用也相差不多,详尽的使用及设置方法都可以在官方的文档及Demo中找到答案。

后记:因为jQuery已经火得一塌糊涂了,如果再结合jQuery UI,将更大程度上减轻程序员的负担。在享受这些便利的同时,我们不得不默默地内心要感谢一下那些为jQuery及UI做出奉献的同行们,同时我们也能尽我们自己的一分力量,来丰富扩展jQuery的插件及UI库。

例子源码下载:http://xiazai.3water.com/201210/yuanma/jQueryUIExample_3water.rar

相关连接
jQuery UI 官网
http://jqueryui.com/
theme roller
http://jqueryui.com/themeroller/
jQuery 学习:张子秋《从零开始学习jQuery》系列:
https://3water.com/article/24908.htm

Javascript 相关文章推荐
document.getElementById的简写方式(获取id对象的简略写法)
Sep 10 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
JS逆序遍历实现代码
Dec 02 Javascript
js实现拖拽效果
Feb 12 Javascript
jquery拖拽效果完整实例(附demo源码下载)
Jan 14 Javascript
微信小程序 删除项目工程实现步骤
Nov 10 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
Aug 16 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
简述pm2常用命令集合及配置文件说明
May 30 Javascript
vue项目强制清除页面缓存的例子
Nov 06 Javascript
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
jquery创建并行对象或者合并对象的实现代码
Oct 10 #Javascript
jQuery提交表单ajax查询实例代码
Oct 07 #Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 #Javascript
js自动闭合html标签(自动补全html标记)
Oct 04 #Javascript
Javascript操作cookie的函数代码
Oct 03 #Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 #Javascript
仿新浪微博返回顶部的jquery实现代码
Oct 01 #Javascript
You might like
php动态添加url查询参数的方法
2015/04/14 PHP
PHP多态代码实例
2015/06/26 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
理解javascript正则表达式
2016/03/08 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
pandas的排序和排名的具体使用
2019/07/31 Python
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
致200米运动员广播稿
2014/02/06 职场文书
保密承诺书范文
2014/03/27 职场文书
2014年妇女工作总结
2014/12/06 职场文书
2015入党自传书范文
2015/06/26 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python