[转载]简单实现编写自己的jQuery插件 – 浅水鱼 – 博客园.
用了这长时间的JQuery,一直也没怎么写过JQuery插件,今天简单实现俩个插件,已巩固下基础知识。
这里只阐述如何编写自己的插件,至于要实现什么功能,要因人而异了…好了,下面开始…
JQuery插件主要分为三种
1、封装对象方法的插件
2、封装全局函数的插件
3、扩展选择器的插件
这里只编写前俩种,即比较常见的..
大多数插件都是已这种形式编写的:
(function ($) {
/* 这里放置代码 */
})(jQuery);
这样的好处是函数内部依然可以使用$作为jQuery的别名,而不影响到其他库使用$
jQuery提供了俩个扩展用于编写插件
$.fn.extend({});用于扩展第一种
$.extend({});用于扩展第二种
以下为实现效果截图和代码
<!-- li { border: 1px solid #000; cursor: pointer; width: 200px; display: block; } --> <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[ (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> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>