• 第八周作业


    如何编写jQuery自定义插件

      最近了解到jQuery的两种自定义插件方法,一种是自定义对象级插件方法,另一种是自定义类级插件方法。

      以下是我对jQuery自定义插件的了解与实践,实例代码是自己编写的,有什么不对的地方,请多多指点。


      (一)自定义对象级插件有如下两种形式:
        形式一:

    (function($){        
    	$.fn.extend({        
    		pluginName:function(opt,callback){        
                          // Our plugin implementation code goes here.          
    		}        
    	})        
    })(jQuery);             
    

        形式二:

    (function($) { 
        $.fn.pluginName = function() { 
            // Our plugin implementation code goes here. 
        }; 
    })(jQuery);     

        对象级形式一(设置焦点颜色)插件实例:

    (function(){
        $.fn.extend({
            focusColor: function(li_col)    {
                var def_col = "#ccc";    //默认获取焦点的色值
                var lst_col = "#fff";    //默认丢失焦点的色值
                //如果设置的颜色不为空,使用设置的颜色,否则为默认色
                li_col = (li_color == undefined) ? del_col : li_col;
                $(this).find("li").each(function(){    //遍历表项<li>中的全部元素
                    $(this).mouseover(function() {    //获取鼠标焦点事件
                        $(this).css("background-color",li_col);    //使用设置的颜色
                    }).mouseout(function() {    //鼠标焦点移出事件
                        $(this).css("background-color","#fff");    //恢复原来的颜色
                    });
                });
                return $(this);    //返回jQuery对象,保存键式操作
            }
        });
    })(jQuery);

       (二)自定义类级插件有如下形式:

    jQuery.extend({ 
        pluginName: function() { 
            // Our plugin implementation code goes here. 
        }, 
        pluginName: function(param) { 
            // Our plugin implementation code goes here. 
        } 
    });    

        类级别插件(两数相加/减)实例:

    (function(){
        $.extend({
            addNum: function(p1,p2) {
                //如果传入的数字不为空,使用传入的数字,否则为0
                p1 = (p1 == undefined) ? 0 : p1;
                p2 = (p2 == undefined) ? 0 : p2;
                var intResult = parseInt(p1) + parseInt(p2);
                return intResult;
            },
            subNum: function(p1,p2) {
                //如果传入的数字不为空,使用传入的数字,否则为0
                p1 = (p1 == undefined) ? 0 : p1;
                p2 = (p2 == undefined) ? 0 : p2;
                if(p1>p2) {
                    var intResult = parseInt(p1) - parseInt(p2);
                }
                return intResult;
            }
        });
    })(jQuery);
  • 相关阅读:
    Design Pattern
    javascript summary
    nodejs template
    MVC---Case 1
    About js
    本地schemeApp扩展
    BNU4208:Bubble sort
    [置顶] think in java interview-高级开发人员面试宝典代码示例
    java+socket 简易聊天工具
    oracle 字段自增 两段代码搞定
  • 原文地址:https://www.cnblogs.com/rany19/p/5426103.html
Copyright © 2020-2023  润新知