首页 > 代码库 > 编写JQuery插件

编写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>    <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>    <script type="text/javascript">        $(function () {            (function ($) {                var methods = {                    show: function () { alert(this is show); }                }                $.fn.test = function (opt) {                    var settings = {                        color: "red",                        fontSize: 36px,                        refresh: function () { alert(this is settings refresh); }                    };                    if (typeof opt == "string") {                        alert(Array.prototype.slice.call(arguments, 1));                        return methods[opt].apply(this, Array.prototype.slice.call(arguments, 1)); // Array.prototype.slice.call(arguments, 1) 是获取参数 1代表第二个参数                     }                    else {                        var optnew = $.extend(settings, opt);                        //此处没有必要将this包在$号中如$(this),因为this已经是一个jQuery对象。                        //$(this)等同于 $($(‘#element‘))                        alert(optnew.fontSize);                        $(this).css({ color: optnew.color, "font-size": optnew.fontSize });                        //settings.refresh();                        alert(optnew.refresh);                    }                };            })(jQuery);            // $(‘div‘).test({ color: ‘blue‘, fontSize: "100px", refresh: function () { alert(‘this is opt refresh‘); } });            $(div).test("show","this is 2 canshu"); //调用插件的方法 第一个参数是方法名,第二个参数是附加的其他参数,可以传给show        })    </script></head><body><div>test</div></body></html>

 

编写JQuery插件