jquery插件扩展的学习
jquery插件的学习可以点击这里
举个例子
- //首先先来一个插件
- (function($){
- $.fn.extent({
- bigfont:function(){
- return this.css('fontSize':"30px")
- }
- })
- })(jQuery)
<p class='p1'>好好学习天天向上</p>
运行
jquery的插件机制
jquery.extent方法的重载,如$.each,$.ajax的功能
举个例子
<p>2+1=?<p>
运行
关于extent的重载的深入学习
$.extent([deep],obj1,obj2,obj3)
//deep: 可选。如果设为true,则递归合并。
// target: 待修改对象。
// object1: 待合并到第一个对象的对象。
// objectN: 可选。待合并到第一个对象的对象。
- //举个例子
运行
- //举个例子
运行
- //举个例子
运行
插件的另外的写法
- //(1)
- !function($){
- //do something
- }(jQuery);
- (function($){
- //do something
- })(jQuery)
插件实例
- //闭包限定命名空间
- (function ($) {
- $.fn.extend({
- "highLight": function (options) {
- var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数
- this.each(function () { //这里的this 就是 jQuery对象
- //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。
- var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom
- //根据参数来设置 dom的样式
- $this.css({
- backgroundColor: opts.background,
- color: opts.foreground
- });
- });
- }
- });
- //默认参数
- var defaluts = {
- foreground: 'red',
- background: 'yellow'
- };
- })(window.jQuery);
- //闭包限定命名空间
- (function ($) {
- $.fn.extend({
- "highLight": function (options) {
- //检测用户传进来的参数是否合法
- if (!isValid(options))
- return this;
- var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数
- return this.each(function () { //这里的this 就是 jQuery对象。这里return 为了支持链式调用
- //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。
- var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom
- //根据参数来设置 dom的样式
- $this.css({
- backgroundColor: opts.background,
- color: opts.foreground
- });
- //格式化高亮文本
- var markup = $this.html();
- markup = $.fn.highLight.format(markup);
- $this.html(markup);
- });
- }
- });
- //默认参数
- var defaluts = {
- foreground: 'red',
- background: 'yellow'
- };
- //公共的格式化 方法. 默认是加粗,用户可以通过覆盖该方法达到不同的格式化效果。
- $.fn.highLight.format = function (str) {
- return "" + str + "";
- }
- //私有方法,检测参数是否合法
- function isValid(options) {
- return !options || (options && typeof options === "object") ? true : false;
- }
- })(window.jQuery);
jquery插件扩展的学习的更多相关文章
- FireFox 浏览器插件/扩展开发学习
2014-11-08 内容存档在evernote,笔记名"FireFox 浏览器插件/扩展开发学习"
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- jQuery插件扩展方法
jQuery为扩展插件提拱了两个方法,分别是: jQuery.extend(object) —— 给jQuery对象添加方法. jQuery.fn.extend(object) —— 为扩展jQuer ...
- jQuery插件扩展extend的实现原理
相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的 ...
- [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件
jquery插件一般是这么干的: $.fn.插件名称 = function(){}, 把插件的名称加在.fn上,在源码里面实际上是扩展到构造函数的原型对象上,如果你没看过jquery的源代码,或者你曾 ...
- 利用jQuery来扩展一个瀑布流插件
简单了解jQuery.fn.extend() jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). (截图来自jQuery文档) 为了更清晰 ...
- JQuery插件的学习
此前一直想就关于Jquery插件的开发,做一个深入的学习,由于各种原因,当然主要是自己太懒了...今天就系统分析一下Jquery插件的开发(参考了http://www.xprogrammer.com/ ...
- jQuery插件学习(一)
由于项目开发需要,经常会用到一些jquery插件,但网上已有的插件常常又不能100%满足业务需求,所以就想自己能看懂插件的代码,进行一些功能上的改动和补充,或者能自己自定义插件就更好了.所以这段时间会 ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
随机推荐
- JAVA编程思想(第四版)学习笔记----11.4 容器的打印
import static java.lang.System.out; import java.util.ArrayList; import java.util.Collection; import ...
- JAVA NIO FileChannel 内存映射文件
文件通道总是阻塞式的. 文件通道不能创建,只能通过(RandomAccessFile.FileInputStream.FileOutputStream)getChannel()获得,具有与File ...
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- 关于Mysql 触发器
首先,测试版本 Mysql 5.6. 然后再看触发器的语法 CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigge ...
- SQL Server 2008 R2——当前日期下,一年前数据的统计值
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- CentOS安装Nginx-1.6.2+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...
- linux下安装 oracle 11g
oracle 11g安装 一.环境准备 划分区 / 15000M /tmp 4096M /boot 100M Swap 4096M /u01 剩余空间 2.更改主机名,ip地址 3.安装软件包 那么l ...
- Java使用MyEclipse构建webService简单案例
什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过web ...
- 内网劫持渗透新姿势:MITMf简要指南
声明:本文具有一定攻击性,仅作为技术交流和安全教学之用,不要用在除了搭建环境之外的环境. 0×01 题记 又是一年十月一,想到小伙伴们都纷纷出门旅游,皆有美酒佳人相伴,想到这里,不禁潸然泪下.子曰:& ...
- [java]设计模式1-单例模式
单例模式:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管 ...