jQuery插件编写的原理
来源:互联网 发布:域名注册服务商查询 编辑:程序博客网 时间:2024/06/10 20:17
想写一个jQuery的小插件,可是没接触过,上网看别人的也看不懂,现在也算看出一点小小的原理了
1.类级别插件,直接jQuery.xxx()或$.xxx()调用,类似$.ajax();
//全局函数$.foo=function (){console.info('foo')}$.foo();//jQuery.extend()$.extend({test1:function(){console.info("test1");},test2:function(data){console.info("test2"+data);}});$.test1();$.test2("ang");//命名空间$.mySpace={test1:function(){console.info("mySpace1");},test2:function(data){console.info("mySpace2"+data);}}$.mySpace.test1();$.mySpace.test2("ang");结果:
2.对象级别
<script type="text/javascript">(function($){$.fn.extend({color:function(options){options=$.extend({//默认参数color:"red",width:"100px",height:"30px"},options);//传递的参数,如果有传递的参数,默认里面的相同属性会被传递的参数给覆盖$(this).css("color",options.color);$(this).height(options.height);$(this).width(options.width);}});})(jQuery);$(function(){$("#test1").color();$("#test2").color({color:"#EEAD0E",height:"20px"});$("#test3").color({color:"#blue",width:"80px"});});</script>
结果:
分解介绍:
1.对象级别的插件格式,基本都是这样的格式
(function($){//需要实现的代码})(jQuery);
2.options是要传递的参数,是个数组,里面包含了要控制的属性
options=$.extend({
options={
}
},options);
这样用$.extend();后面的options如果有跟前面默认的options的相同的属性,就会覆盖掉默认的属性。这样,在调用函数的时候可以传递参数,实现想要达到的目的。
比如:
var opt1={name:'aaa',age:'25',sex:'男'};var opt2={name:'bbb',age'30'};$.extend(opt1,opt2);结果是:{name:'bbb',age:'30',sex:'男'}
3.
$(this).css("color",options.color);$(this).height(options.height);$(this).width(options.width);这里的this是调用方法的对象,里面的属性,要用options.xxx的方式调用
1 0
- jQuery插件编写的原理
- jquery插件的编写
- jquery插件的编写
- jquery插件的编写
- 简单的Jquery 插件编写
- jquery编写自己的插件
- 编写自己的jquery插件
- 编写自己的JQUERY插件
- 编写自己的jquery插件
- 编写你自己的jquery插件
- jQuery插件的编写方法
- jQuery插件的编写方法
- 编写模块化的jquery插件
- jquery编写自己的插件
- Jquery编写自己的插件
- jquery开发:jquery插件的编写
- 《锋利的jQuery》读书笔记 -- 编写jQuery插件
- 如何理解 jQuery 的插件编写方式
- 跟我一起写Makefile(2)--- Makefile介绍+Makefile规则
- 期货的形成和发展
- chrome img.src=c:fakepth....
- RecycleView从显示到下拉刷新和加载更多
- php trim()函数
- jQuery插件编写的原理
- 约瑟夫问题
- NYOJ-35 表达式求值
- 1119 Collecting Coins 湖南省第八届
- poj2524 Ubiquitous Religions
- VS2013配置opencv
- [机器学习笔记]Note16--应用示例:图像文字识别
- 解决Emacs无法输入中文的问题
- CodeForces-696C Please(数学题,快速幂取模,乘法逆元)