jQuery UI 入门

jQuery UI 简介

jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序。无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery UI 都是一个完美的选择。jQuery UI 包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同。所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(Widget)。

jQuery UI 特性

简单易用:

继承 jQuery 简易使用特性,提供高度抽象接口,短期改善网站易用性。

开源免费

采用 MIT & GPL 双协议授权,轻松满足自由产品至企业产品各种授权需求。

广泛兼容

兼容各主流桌面浏览器。包括IE 6+、Firefox 2+、Safari 3+、Opera 9+、Chrome 1+。

轻便快捷

组件间相对独立,可按需加载,避免浪费带宽拖慢网页打开速度。

标准先进

支持 WAI-ARIA,通过标准 XHTML 代码提供渐进增强,保证低端环境可访问性。

美观多变

提供近 20 种预设主题,并可自定义多达 60 项可配置样式规则,提供 24 种背景纹理选择。

开放公开

从结构规划到代码编写,全程开放,文档、代码、讨论,人人均可参与。

强力支持

Google 为发布代码提供 CDN 内容分发网络支持。

完整汉化

开发包内置包含中文在内的 40 多种语言包。

缺点、不足

  • 1.代码不够健壮:缺乏全面的测试用例,部分组件 Bugs 较多,不能达到企业级产品开发要求。
  • 2.构架规划不足:组件间 API 缺乏协调,缺乏配合使用帮助。
  • 3.控件较少:相对于 Dojo、YUI、Ext JS 等成熟产品,可用控件较少,无法满足复杂界面功能要求。

jQuery UI 下载

下载地址: http://jqueryui.com/download/

jQuery UI 使用

在网页中使用

下载完成后需至少引入3个文件

<link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css" />
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>

若需要相应图标功能时,需将images文件夹放入你的项目css文件夹下:

如图: 

jQuery UI 实用实例

日期选择器

日期选择器(Datepicker)绑定到一个标准的表单 input 字段上。

HTML

<!--日期-->
<input type="text" name="data" id="data" value="" />

JS

//日期控件
$("#data").datepicker({
//月份可改变
changeMonth: true,
//年份可改变
changeYear: true
});

拖动滚动

在任意的 DOM 元素上启用 draggable 功能。通过鼠标点击并在视区中拖动来移动 draggable 对象。

CSS

#drag {
width: 100px;
height: 100px;
background: red;
}

HTML

<!--拖动滚动-->
<div id="drag"></div>

JS

//可拖拽 可拖动滚动
$("#drag").draggable({
scroll: true
});

缩放

在任意的 DOM 元素上启用 resizable 功能。通过鼠标拖拽右边或底边的边框到所需的宽度或高度。

HTML 共用上个div#drag

JS

//缩放
$("#drag").resizable({
//有动画效果
animate: true,
//阴影效果
ghost: true
});

拖动排序

在任意的 DOM 元素上启用 sortable 功能。通过鼠标点击并拖拽元素到列表中的一个新的位置,其它条目会自动调整。默认情况下,sortable 各个条目共享 draggable 属性。

HTML

<!--拖动排序-->
<ul id="sortable">
<li>111111111</li>
<li>2222222222</li>
<li>33333333333</li>
</ul>

JS

//拖动排序
$("#sortable").sortable();

折叠面板

点击头部展开/折叠被分为各个逻辑部分的内容,就像标签页(tabs)一样。您可以选择性地设置当鼠标悬停时是否切换各部分的打开/关闭状态。

HTML

<!--折叠面板-->
<div id="accordion">
<h3>部分 1</h3>
<p>abitur malesuada.</p>
<h3>部分 2</h3>
<p>Sed non urna.</p>
</div>

JS

//折叠面板
$("#accordion").accordion();

对话框窗口

对话框窗口是一个定位于视区中的覆盖层,同时通过一个 iframe 与页面内容分隔开(就像 select 元素)。它由一个标题栏和一个内容区域组成,且可以移动,调整尺寸,默认可通过 'x' 图标关闭。

HTML

<!--对话框-->
<div id="dialog" title="对话框">
<p>显示本内容,可以移动,点击x可关闭</p>
</div>

JS

//对话框
$("#dialog").dialog();

带有图标的菜单

一个带有默认配置、禁用条目和嵌套菜单的菜单。由一个列表转化成的,添加了主题,并支持鼠标和键盘交互。尝试使用光标键导航菜单。

CSS

//菜单栏的宽度
.ui-menu { width: 150px; }

HTML

<ul id="menu">
  //通过添加类名 ui-icon ui-icon-disk调用图标
<li><a href="#"><span class="ui-icon ui-icon-disk"></span>保存</a></li>
<li><a href="#"><span class="ui-icon ui-icon-zoomin"></span>放大</a></li>
<li><a href="#"><span class="ui-icon ui-icon-zoomout"></span>缩小</a></li>
  //通过添加类名实现选项不可用状态
<li class="ui-state-disabled"><a href="#"><span class="ui-icon ui-icon-print"></span>打印...</a></li>
<li>
<a href="#">播放</a>
<ul>
<li><a href="#"><span class="ui-icon ui-icon-seek-start"></span>上一个</a></li>
<li><a href="#"><span class="ui-icon ui-icon-stop"></span>停止</a></li>
<li><a href="#"><span class="ui-icon ui-icon-play"></span>播放</a></li>
<li><a href="#"><span class="ui-icon ui-icon-seek-end"></span>下一个</a></li>
</ul>
</li>
</ul>

JS

//菜单栏
$( "#menu" ).menu();

预加载进度条

等待加载过程,并完成进度条。

CSS

.ui-progressbar {
position: relative;
}
.progress-label {
position: absolute;
left: 50%;
top: 4px;
font-weight: bold;
text-shadow: 1px 1px 0 #fff;
}

HTML

//进度条初始状态
<div id="progressbar"><div class="progress-label">加载...</div></div>

JS

 $(function() {
var progressbar = $( "#progressbar" ),
progressLabel = $( ".progress-label" ); progressbar.progressbar({
value: false,
change: function() {
progressLabel.text( progressbar.progressbar( "value" ) + "%" );
},
complete: function() {
progressLabel.text( "完成!" );
}
}); function progress() {
var val = progressbar.progressbar( "value" ) || 0; progressbar.progressbar( "value", val + 1 ); if ( val < 99 ) {
setTimeout( progress, 100 );
}
} setTimeout( progress, 3000 );
});

jQuery UI API 文档

官方中文版API地址: http://www.css88.com/jquery-ui-api/category/effects-core/

jQuery UI 入门之实用实例分享的更多相关文章

  1. jQuery UI 入门之实用实例

    jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...

  2. JQuery UI 入门

    1. JQuery UI 概述 1.1 JQuery UI 主要分为三部分: 交互部件(interactions):是一些与鼠标交互相关的内容; 小部件(widgets): 主要是一些页面的扩展; 效 ...

  3. jQuery UI入门

    jQuery UI是jQuery的一个插件集,为jQuery的核心库添加了新的功能. jQUery UI库可以从http://jquery.com下载. 下载一个ZIP文件jquery-ui-1.9. ...

  4. jquery JSON的解析方式实例分享

    本文以jquery异步获取的数据类型——json对象和字符串为依据,介绍两种方式获取到的结果处理方式. 这里考虑都考虑的是服务器返回的是JSON形式的字符串的形式,对于利用JSONObject等插件封 ...

  5. 一款基于jquery ui漂亮的可拖动div实例

    今天要给大家带来一款基于jquery ui漂亮的可拖动div实例.这款实例用了图片当背景,div层采用了幽灵透明效果.div拖动是基于jquery ui的.界面非常漂亮.一起看下效果图: 在线预览   ...

  6. jQuery UI 实例 – 切换(Toggle)

    toggle()函数用于为每个匹配元素的click事件绑定轮流的处理函数. toggle()是一个特殊的事件函数,用于为匹配元素的click事件绑定多个事件处理函数.每次触发click事件时,togg ...

  7. JQuery UI dialog 弹窗实例及参数说明

    按钮代码: <a id="suprise" style="margin-left: 0.5em;cursor:pointer;">点我会有惊喜< ...

  8. jQuery UI 实例 - 对话框(Dialog)(zhuan)

    http://www.runoob.com/jqueryui/example-dialog.html ************************************************* ...

  9. jQuery UI 之 Bootstrap 快速入门

    转载自(http://www.shouce.ren/example/show/s/6444) 1. 下载 这个页面是用来展示 jQuery UI Bootstrap 项目的 -- 我们将 Bootst ...

随机推荐

  1. linux(ubuntu)获取命令源码方式

    以下载ls的源码为例说明: 首先要知道ls是属于哪个包的,可以通过下面命令: #dpkg -S 'command name' 通用格式 $ dpkg -S /bin/ls 得到如下结果: coreut ...

  2. Android系统--输入系统(八)Reader线程_使用EventHub读取事件

    Android系统--输入系统(八)Reader线程_使用EventHub读取事件 1. Reader线程工作流程 获得事件 size_t count = mEventHub->getEvent ...

  3. 实现TOLock过程中的一处多线程bug

    背景 最近在啃<多处理器编程的艺术>,书中的7.6节介绍了时限锁--实现了tryLock方法的队列锁. 书中重点讲解了tryLock的实现,也就是如何实现在等待超时后退出队列,放弃锁请求, ...

  4. phpcms基础

    CSM基础(做中小型企业网站) 做一个企业站,三个页面比较重要1.首页2.列表页3.内容页 做企业站的流程:1.由美工出一张,设计效果图2.将设计图静态化3.开始安装CMS4.强模板文件放到CSM里面 ...

  5. webrtc学习笔记1(建立连接基本流程)

    最近在做一个基于webrtc的视频软件,以下是自己对于上层建立通话连接流程的基本理解,记录于此. 假设A和B要建立视频通话,A为房间创建端,B为加入房间端: 1.A通过http登录.获取其他服务器地址 ...

  6. waiting for spring......

    世间哪得双全法,不负如来不负卿....<仓央嘉措>

  7. log4j.properties详细配置

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ...

  8. [系统启动]Printk与sched_clock_init的一点分析

     作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 在分析Linu内核启动的过程中,发现一段"不平常" ...

  9. Linux系统OOM killer机制详解

    介绍: Linux下面有个特性叫OOM killer(Out Of Memory killer),会在系统内存耗尽的情况下出现,选择性的干掉一些进程以求释放一些内存.广大从事Linux方面的IT农民工 ...

  10. python之爬虫学习记录与心得

    之前在寒假的时候,学习了python基础.在慕课网上看的python入门:http://www.imooc.com/learn/177 python进阶:http://www.imooc.com/le ...