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. NOIP2009T3最优贸易

    洛谷传送门 看到这个题,原本想先从后往前dfs,求出能到终点的点,再在这些点里从前往后spfa,用一条边上的两个城市的商品价格的差来作边权,实施过后,发现图中既有负边权,又有回路,以及各种奇奇怪怪的东 ...

  2. html的常用基础应用

    HTML结构   如下一段最简单的HTML代码:<html>     <head>          <title>HTML页面</title>     ...

  3. 【转】JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)

    转自:http://www.cnblogs.com/ysw-go/ JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/ ...

  4. CSAcademy Beta Round #5 Long Journey

    题目链接:https://csacademy.com/contest/arhiva/#task/long_journey/ 大意是有一张无向不带权的图,两个人同时从s点出发,分别前往a点和b点,且每个 ...

  5. mybatis插入List集合数据

    处女帖 今天做完一个定时任务将一个表中的数据每天统计到另外一个表中,开始是用循环的方式向数据库添加,觉得数据库可能访问压力过大,所以就使用了mybatis的foreach标签来稍微的减少压力. 首先封 ...

  6. Android的root学习

    Android的内核就是Linux,所以Android获取root其实和Linux获取root权限是一回事儿.在Linux下获取root权限的时候就是执行sudo或者su,接下来系统会提示输入root ...

  7. Oracle学习历程--创建用户,分配表空间

    记录下学习Oracle12c的过程中的点点滴滴. Oracle12c新特性:http://www.cnblogs.com/kerrycode/p/3386917.html --创建临时表空间CREAT ...

  8. hdu2389二分图之Hopcroft Karp算法

    You're giving a party in the garden of your villa by the sea. The party is a huge success, and every ...

  9. poj1269计算几何直线和直线的关系

    We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a p ...

  10. 完全背包hdu1114

    https://vjudge.net/contest/68966#problem/F 初始化就行了:dp[0]=0: 这题还要刚好装满背包,输出时进行判断 #include<map> #i ...