编写自己的jQuery插件简单实现代码


Posted in Javascript onApril 19, 2011

这里只阐述如何编写自己的插件,至于要实现什么功能,要因人而异了...好了,下面开始...
jQuery插件主要分为三种
1、封装对象方法的插件
2、封装全局函数的插件
3、扩展选择器的插件
这里只编写前俩种,即比较常见的..
大多数插件都是已这种形式编写的:

(function ($) { 
/* 这里放置代码 */ 
})(jQuery);

这样的好处是函数内部依然可以使用$作为jQuery的别名,而不影响到其他库使用$
jQuery提供了俩个扩展用于编写插件
$.fn.extend({});用于扩展第一种
$.extend({});用于扩展第二种
以下为实现效果截图和代码
编写自己的jQuery插件简单实现代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head><title></title> 
<style type="text/css"> 
li { border: 1px solid #000; cursor: pointer; width: 200px; display: block; } 
</style> 
<script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
(function ($) { 

$.fn.extend({ 



"chgSC": function (options) { 




 options = $.extend({ FontSize: "100px", Color: "red" }, options); //这里用了$.extend方法,扩展一个对象 
return this.hover(function () { //return为了保持jQuery的链式操作 





 $(this).css({ "fontSize": options.FontSize, "color": options.Color }); 





 }, function () { 


 $(this).css({ "fontSize": "", "color": "" }); 





 }); 
} 
}); 
$.extend({ 




"urlParam": function () { 





 var pageUrl = location.search; 






 if (pageUrl != "") 




 return pageUrl.slice(1); 





 else 





 return "没有参数"; 





 } 




}); 
})(jQuery); 
$(function () { 


$("li").chgSC({ FontSize: "130px" }); 
  alert($.urlParam()); 
}); 
</script> 
</head> 
<body> 
<ul> 
<li>1</li> 
<li>2</li> 
<li>3</li> 
<li>4</li> 
<li>5</li> 
</ul> 
</body> 
</html>
Javascript 相关文章推荐
js获取图片长和宽度的代码
Nov 24 Javascript
jquery无缝向上滚动实现代码
Mar 29 Javascript
jQuery中 attr() 方法使用小结
May 03 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
Vue.js创建Calendar日历效果
Nov 03 Javascript
微信小程序 闭包写法详细介绍
Dec 14 Javascript
微信小程序 解决swiper不显示图片的方法
Jan 04 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
解决vue+webpack打包路径的问题
Mar 06 Javascript
微信小程序按钮去除边框线分享页面功能
Aug 27 Javascript
Next.js项目实战踩坑指南(笔记)
Nov 29 Javascript
Vue 构造选项 - 进阶使用说明
Aug 14 Javascript
提升你网站水平的jQuery插件集合推荐
Apr 19 #Javascript
分享20款好玩的jQuery游戏
Apr 17 #Javascript
ModelDialog JavaScript模态对话框类代码
Apr 17 #Javascript
JavaScript中的isXX系列是否继续使用的分析
Apr 16 #Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
Apr 16 #Javascript
表单JS弹出填写提示效果代码
Apr 16 #Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
Apr 16 #Javascript
You might like
php设计模式 Delegation(委托模式)
2011/06/26 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
德购商城:德国进口直邮商城
2017/06/13 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
微博营销计划书
2014/01/10 职场文书
后勤部经理岗位职责
2014/02/23 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
2016大一新生军训感言
2015/12/08 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL