jQuery插件示例笔记
插件的种类
- 封装对象方法的插件
将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作。
//注意,为了更好的兼容性开始前有个分号
;(function($){ //此处将$作为匿名函数的形参
/*这里放置代码,可以使用$作为jQuery的缩写别名*/
})(jQuery);//这里就将jQuery作为实参传递给匿名函数了
- 封装全局函数的插件
可以将独立的函数加到jQuery命名空间之下。
- 选择器插件
扩充自己的选择器
插件示例
设置颜色插件
(function ($) {
$.fn.extend({
"color": function (value) {
//if (value == undefined) {
// return this.css("color");
//} else {
// return this.css("color", value);
//}
//css()方法内部已经有了判断value是否为undefined的机制,所以可以采用下面的写法
return this.css("color", value);
},
"border": function (value) { },
"background": function (value) {
return this.css('background', value);
}
});
})(jQuery);
设置表格插件,奇偶行,选中状态
(function ($) {
$.fn.extend({
"alterBgColor": function (options) {
options = $.extend({
odd: "odd", //偶数行样式
even: "even", //奇数行样式
selected:"selected" //选中行样式
},options);
return this.each(function () {
$("tbody>tr:odd", this).addClass(options.odd);
$("tbody>tr:even", this).addClass(options.even);
$("tbody>tr", this).click(function () {
//判断当前行是否选中
var hasSelected = $(this).hasClass(options.selected);
//如果选中,则移除selected类,否则就加上selected类
$(this)[hasSelected ? "removeClass" : "addClass"](options.selected)
//查找内部的checkbox,设置对应的属性
.find(':checkbox').attr('checked', !hasSelected);
});
//如果单选框默认情况下是选择的,则高亮
$("tbody>tr:has(:checked)", this).addClass(options.selected);
});
}
});
})(jQuery);
去除头部空格,尾部空格插件
(function ($) {
$.extend({
trimStart: function (text) {
return (text || "").replace(/^\s+/g, "");
},
trimEnd: function (text) {
return (text || "").replace(/\s+$/g, "");
}
});
})(jQuery);
选择器插件,选择范围。
jQuery1.3版本能用,1.8及以后版本不能使用
(function ($) {
$.fn.extend(jQuery.expr[':'], {
between2: function (a, i, m,arr) {
var tmp = m[3].split(',');
var ret = tmp[0] - 0 < i && i < tmp[1] - 0;
return ret;
},
ge: function (a, i, m) {
return i >= m[3] - 0;
},
le: function (a, i, m) {
return i <= m[3] - 0;
}
});
})(jQuery);
jQuery插件示例笔记的更多相关文章
- 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]
1.表单验证插件Validation 2.表单插件Form 3.动态事件绑定插件livequery 可以为后来的元素绑定事件 类似于jQuery中的live()方法 4.jQuer ...
- jquery插件 - 学习笔记 (插件参数及函数的调用)
今天研究的是jquery插件的基本写法: 比如我打算写一个名为 ImageZoom 的插件 前台调用: <script src="ImageZoom.js"></ ...
- 基于 Webpack 引入 jquery 插件的笔记
如果都是基于 webpack(npm 上有包),那就非常顺利: import $ from 'jquery' import 'jquery-modal/jquery.modal.min.css' im ...
- jQuery插件学习笔记
近期在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其它地方反复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外 ...
- jQuery插件编写笔记
插件的种类: 1.封装对象方法的插件. 2.封装全局函数的插件. 3.选择器插件. *所有的对象方法都应当附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上. *在插件 ...
- day 57 jQuery插件
在jQuery的console里面 '321'+8 输出结果是"3218" 直接作为字符串给拼接上了 如果是"321"-8 输出结果就是313 直接转换成数 ...
- 简易jQuery插件
之前写过jQuery插件的笔记 如何用jQuery封装插件 我一直觉得前面讲了一大堆闭包和三种插件封装模式有点冗余,那篇笔记我直到记录到后面才发现这事情很简单,想来想去还是觉得网上的一些文章把事情搞复 ...
- DOM笔记(七):开发JQuery插件
在上一篇笔记本中,讲解了如何利用jQuery扩展全局函数和对象:DOM笔记(六):怎么进行JQuery扩展? 在这篇笔记本中,将开发一个简单的动画插件,名称是example-plugin,用其实现一个 ...
- 教你开发jQuery插件(转)
教你开发jQuery插件(转) 阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原文: ...
随机推荐
- java多线程以及Android多线程
Java 多线程 线程和进程的区别 线程和进程的本质:由CPU进行调度的并发式执行任务,多个任务被快速轮换执行,使得宏观上具有多个线程或者进程同时执行的效果. 进程:在操作系统来说,一个运行的程序或者 ...
- linux命令行任务管理
今天看到了linux命令行的任务管理命令感觉很实用: 1.ctrl+z 将当前前台执行的任务放到后台并暂停 2.fg恢复上次放入后台的任务 这两个命令组合起来很实用,比如在linux命令行中写pyt ...
- 一台服务器支持多少TCP并发链接
误区一 1.文件句柄---文件描述符 每开一个链接,都要消耗一个文件套接字,当文件描述符用完,系统会返回can't open so many files 这时你需要明白操作系统对可以打开的最大文件数 ...
- vue 全局配置键盘事件
在main.js配置 Vue.config.keyCodes.f1 = 112 然后可以在页面上@keyup.f12='demo' demo(){ console.log('demo')}
- 《java并发编程实战》读书笔记9--并发程序的测试
第12章 并发程序的测试 大致分为两类:安全性测试和活跃性测试 12.1 正确性测试 找出需要检查的不变性条件和后验条件.接下来将构建一组测试用例来测试一个有界缓存.程序清单12-1给出了Bounde ...
- 基于 Docker 的 DevOps 搭建
一直对 DevOps 感兴趣,最近心血来潮,搭乘 Docker 搞一搞,Let‘s Go !!! 1.拉取 GitLab docker pull gitlab/gitlab-ce 2.Run Git ...
- spring boot 使用thymeleaf模版 报错:org.thymeleaf.exceptions.TemplateInputException
错误: org.thymeleaf.exceptions.TemplateInputException: Error resolving template "Hello", tem ...
- react native 生成APK
参考地址:React native Android 命令 打包apk 首先:尝试使用模拟器测试 这里是因为需要确认目前在电脑上的模拟器是可以正常运行的,并且,开发React native的应用程序,肯 ...
- cv论文(Low-rank相关)
最近把以前的几篇关于Low-rank的文章重新看了一遍,由于之前的一些积累,重新看一遍感觉收获颇多.写这篇博文的时候也参考了一些网上的博客,其中数这篇博文最为经典http://blog.csdn.ne ...
- urllib2模块、cookielib模块
urllib2模块 urllib模块和urllib模块类似,用来打开URL并从中获取数据.与urllib模块不同的是,urllib模块不仅可以使用urlopen() 函数还可以自定义Opener来访问 ...