关于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中的call实现继承
Jan 22 Javascript
JavaScript Chart 插件整理
Jun 18 Javascript
JQuery在光标位置插入内容的实现代码
Jun 18 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
Oct 16 Javascript
JS简单实现禁止访问某个页面的方法
Sep 13 Javascript
JavaScript之RegExp_动力节点Java学院整理
Jun 29 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
Bootstrap实现模态框效果
Sep 30 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
PHP出错界面
2006/10/09 PHP
用PHP+MySql编写聊天室
2006/10/09 PHP
PHP通用检测函数集合
2011/02/08 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
python使用多进程的实例详解
2018/09/19 Python
python dict 相同key 合并value的实例
2019/01/21 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
Python实现随机爬山算法
2021/01/29 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
会走路的树教学反思
2014/02/20 职场文书
大学班级文化建设方案
2014/05/06 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书