读<jQuery 权威指南>[5]-插件
一、说明
jQuery插件官网:http://plugins.jquery.com/
使用插件时引用顺序:插件引用要位于主jquery库之后。
二、插件应用实例
演示插件jquery.validate.js的使用方法:
①引用jQuery主库和validate插件。
注意:
- jQuery主库要先于插件引用;
- 如果想显示中文错误提示,还需要引用jquery.validate.messages_cn.js。
<script type="text/javascript"
src="Jscript/jquery-1.4.2.js">
</script>
<script type="text/javascript"
src="Js-7-1/jquery.validate.js">
</script>
<script type="text/javascript"
src="Js-7-1/jquery.validate.messages_cn.js">
</script>
<form id="frmV" method="get" action="#">
<div class="divFrame">
<div class="divTitle">
请输入下列资料
</div>
<div class="divContent">
<div>
标题:<br />
<input id="title" name="title"
type="text" class="txt" />
<font color="red">*</font><br />
<span></span>
</div>
<div>
</div>
</div>
<div class="divBtn">
<input id="sbtUser" type="submit"
value="提交" class="btn" />
</div>
</div>
</form>
②设置验证规则,注意name要与控件对应。
<script type="text/javascript">
$(function() {
$("#frmV").validate(
{
/*自定义验证规则*/
rules: {
title: { required: true, minlength: 5,maxlength:18 }
},
/*错误提示位置*/
errorPlacement: function(error, element) {
error.appendTo(element.siblings("span"));
}
}
);
})
</script>
三、自定义插件
1.插件分类:
- 封装方法插件:对象插件
- 封闭函数插件:类插件
2.插件开发注意事项
①插件命名格式: jquery.[插件名].js;
②所有插件都应该以分号;开头,避免压缩插件之后出现错误;为了保证JQuery的链式写法正确性,插件本身必须返回一个jQuery对象;
③在插件内部,this表示选择器选中的对象,和平时的this含义不太相同;
④为了避免冲突,在编写插件时尽量使用jQuery而不是$符号;
⑤对象级别插件所有方法都依附于jquery.fn主体对象;类级别插件所有方法都依附于jquery对象。
⑥编写对象级别插件是用jQuery.fn.extend()方法进行扩展,编写类级别插件时是用jQuery.extend()方法进行扩展。
2.对象插件示例:
插件功能比较简单,当鼠标经过菜单项时自动切换背景颜色。
首先定义插件jquery.color.js
; (function($) {
$.fn.extend({
"focusColor":function (color) {
var def_col = "#ccc";
var list_bg = "#fff";
color = (color == undefined )? def_col : color;
$(this).find("li").each(function() {
$(this).mouseover(function() {
$(this).css("background-color", color);
}).mouseout(function() {
$(this).css("background-color", list_bg);
});
});
return $(this);
}
});
})(jQuery);
调用:
<script type="text/javascript">
$(function() {
$("#u1").focusColor("green");//调用自定义的插件
})
</script>
3.类插件示例:
定义类级别插件jquery.calc.js。
;$(function () {
$.extend({
"addNum": function (a, b) {
a = a || 0;
b = b || 0;
return parseInt(a) + parseInt(b);
}
});
})(jQuery);
调用:
<script type="text/javascript">
$(function() {
$("#Button1").click(function() {
$("#Text3").val(
$.addNum($("#Text1").val(),
$("#Text2").val()));
});
})
</script>
读<jQuery 权威指南>[5]-插件的更多相关文章
- 读<jquery 权威指南>[1]-选择器及DOM操作
今天是小年了,2013马上要过去了,但是学习不能间断啊.最近正在看<jQuery权威指南>,先温习一下选择器和DOM操作. 一.基本选择器 1.table单双行: $(function ( ...
- 读<jquery 权威指南>[3]-动画
一. 显示与隐藏——hide(),show() 1. 方法: hide(speed,[callback]); show(speed,[callback]); 说明:这两个方法还可以实现带动画效果的显示 ...
- 读<jquery 权威指南>[4]-Ajax
一.获取异步数据 jQuery可以从服务器异步获得静态数据. ①load() $.load(url,data,callback) url要加载的页面地址, data发送到服务器的数据key/value ...
- 读<jQuery 权威指南>[6]--实用工具函数
官方地址:http://api.jquery.com/category/utilities/ 一.数组和对象操作 1. $.each——遍历 $.each(obj,function(param1,pa ...
- 读<jquery 权威指南>[7]-性能优化与最佳实践
一.优化选择器执行速度 1. 优先使用ID选择器和标记选择器 使用选择器时应该首选ID选择器($("#id")),其次是标记选择器($("div")),最后再选 ...
- 读<jquery 权威指南>[2]-事件
1. 事件冒泡 阻止事件冒泡的两种方式: event.stopPropagation(); return false ; 2. 绑定事件——bind(type,[data],function) ty ...
- 跟小静读《jQuery权威指南》——目录
前言 2014年开始了,年底给自己制订的学习计划,第一步先从学习<jQuery权威指南>开始. jQuery大家都很比较熟悉,但是我经常是边用的时候边对照着API,这次找本书通读一遍,记录 ...
- 《jQuery权威指南》学习笔记之第2章 jQuery选择器
2.1 jQuery选择器概述 2.1.1 什么使选择器 2.1.2 选择器的优势: 代码更简单,完善的检测机制 1.代码更简单 示例2-1 使用javascript实现隔行变色 < ...
- [在读] javascript权威指南第六版
耽搁了有大半年没看,记得当时看到5分之2了吧.权威指南是不管读几遍都能觉得有新收获的书^^
随机推荐
- JAVA线程池原理详解一
线程池的优点 1.线程是稀缺资源,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用. 2.可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为消耗过多内存导致服务器崩溃. 线 ...
- Android布局
android:gravity="center" android:orientation="vertical" android:orientation=&quo ...
- 循环生成sql文件。
package com; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java ...
- git的那点事---
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id. 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个 ...
- cxf(3.1.1) 客户端异常 请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。
最近项目使用webService 于是就使用了最新版本 3.1.1 . cxf 客户端调用时老是出现这个错误,综合网上各种资料修改如下,问题解决 "@XmlType.name 和 @XmlT ...
- Android安装失败 Installation error code: -110
在系统开发过程中,开发的app管理器,发现怎么安装都是失败. 详细的查看了log发现. I/ActivityManager( 899): START {dat=file:///mnt/sdcard/ ...
- js 操作 字符串
去w3school看看string的基本方法把: 方法描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. ...
- 2016年江西理工大学C语言程序设计竞赛(初级组)
问题 A: 木棒根数 解法:把所有的情况保存下来,加一下就好 #include<bits/stdc++.h> using namespace std; map<char,int> ...
- centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)
1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...
- 数据库连接池配置 - Oracle,SQL Server,DB2,MYSQL,SQLLITE3
################## 数据库连接配置 ################## #Oracle#hibernate.connection.driverClass=oracle.jdbc.d ...