关于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 相关文章推荐
javascript 尚未实现错误解决办法
Nov 27 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
JS+XML 省份和城市之间的联动实现代码
Oct 14 Javascript
jquery实现excel导出的方法
Apr 04 Javascript
js中的for如何实现foreach中的遍历
May 31 Javascript
详解JS函数重载
Dec 04 Javascript
js获取元素外链样式的方法
Jan 27 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
10种JavaScript最常见的错误(小结)
Jun 21 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
Feb 06 Javascript
JS实现canvas简单小画板功能
Jun 23 Javascript
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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
JS 修改URL参数(实现代码)
2013/07/08 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Django框架模板介绍
2019/01/15 Python
Python列表切片操作实例总结
2019/02/19 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
业务员岗位职责范本
2013/12/15 职场文书
物流创业计划书
2014/02/01 职场文书
副总经理岗位职责
2014/03/16 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
公司合作协议书范本
2014/04/18 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
青春励志演讲稿
2014/04/29 职场文书
授权委托书样本
2014/09/25 职场文书
公务员个人考察材料
2014/12/23 职场文书
篮球拉拉队口号
2015/12/25 职场文书
高一语文教学反思
2016/02/16 职场文书