编写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>
复制代码

 

posted @   甜菜波波  阅读(179)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示