前端_jquery自己写插件

(function($){
//自定义插件代码
$.extend($.fn,{ //jquery对象扩展方法

})
})(jQuery) //封装插件


**********************
这是第一种写法:
;(function($){
$.extend($.fn,{
color : function(options){var options = $.extend({bcolor :"white",fcolor :"black"},options);
//函数体
return this.each(function(){
$(this).css("color",options.bcolor);
$(this).css("background",options.fcolor);
});
}//color==end
})
})(jQuery);

;(function($){
    $.extend({
        ltrim:function(text){
            return (text||"").replace(/^\s+/g,"");
        },
        rtrim:function(text){
            return (text||"").replace(/\s+$/g,"");
        }
    });
})(jQuery);
;(function($){
    $.fn.extend({
        "color":function(value){
            //插件代码
        },
        "border":function(value){
            //插件代码
        },
        "background":function(value){
            //插件代码
        }
    });
})(jQuery);
这是第二种写法:
jQuery.extend({
    get_window_sizes: function()
    {
        var iebody = (document.compatMode && document.compatMode != 'BackCompat') ? document.documentElement : document.body;
        return {
            'offset_x'   : iebody.scrollLeft ? iebody.scrollLeft : (self.pageXOffset ? self.pageXOffset : 0),
            'offset_y'   : iebody.scrollTop  ? iebody.scrollTop : (self.pageYOffset ? self.pageYOffset : 0),
            'view_height': self.innerHeight ? self.innerHeight : iebody.clientHeight,
            'view_width' : self.innerWidth ? self.innerWidth : iebody.clientWidth,
            'height'     : iebody.scrollHeight ? iebody.scrollHeight : window.height,
            'width'      : iebody.scrollWidth ? iebody.scrollWidth : window.width
        }
    },
    is: {
        email: function(email)
        {
            return /^([\w-+=_]+(?:\.[\w-+=_]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(email) ? true : false;
        },
 
        blank: function(val)
        {
            if (val == null || val.replace(/[\n\r\t]/gi, '') == '') {
                return true;
            }
 
            return false;
        },
 
        integer: function(val)
        {
            if (val.indexOf('0') == 0) {
                val = val.replace(/^[0]+/, '');
            }
 
            if (jQuery.is.blank(val) || parseInt(val) != val) {
                return false;
            }
 
            return true;
        },
 
        phone: function(val)
        {
            return val.match(/^\(?\d{3}\)?[ ]?[\d-]*$/gi) ? true : false;
        },
 
        zipcode: function(val, country)
        {
            if (zip_validators && zip_validators[country]) {
                return val.match(zip_validators[country]['regex']) ? true : false;
            }
 
            return true;
        }
    },
 
    cookie: {
        get: function(name)
        {
            var arg = name + "=";
            var alen = arg.length;
            var clen = document.cookie.length;
            var i = 0;
            while (i < clen) {
                var j = i + alen;
                if (document.cookie.substring(i, j) == arg) {
                    var endstr = document.cookie.indexOf (";", j);
                    if (endstr == -1) {
                        endstr = document.cookie.length;
                    }
 
                    return unescape(document.cookie.substring(j, endstr));
                }
 
                i = document.cookie.indexOf(" ", i) + 1;
                if (i == 0) {
                    break;
                }
            }
            return null;
        },
 
        set: function(name, value, expires, path, domain, secure)
        {
            document.cookie = name + "=" + escape (value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
        },
 
        remove: function(name, path, domain)
        {
            if (jQuery.cookie.get(name)) {
                document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
            }
        }
    },
    redirect: function(url)
    {
        if ($('base').length && url.indexOf('/') != 0) {
            url = $('base').attr('href') + url;
        }
        window.location.href = url;
    }
});

posted @ 2014-03-23 18:56  logep  阅读(289)  评论(0)    收藏  举报