jq 插件、改写函数、开辟函数空间
写jq的插件,主要以jq的原件为底,在其中添加函数,然后加以调用。用到的语法:
jQuery.extend({方法名:函数});
例:
jQuery.extend({
bar: function(param) {alert('This function takes a parameter, which is "' + param +'".');},...无限个函数
});
外部用$.bar(xxxx);(jquery符号调用其方法名)。便可以使用其方法。
extend此处为命名空间,若要改写命名空间的话,需要把此处换为你要开辟的空间名称。例:$.test={....:function(){.....};
开辟了新的空间,就不可以使用全局变量来调用,只能用开辟空间的名称,调用里面的方法,例:$.test.test1(xxxxx);
例:
$.show= {
letShow:function(){
console.log('i can show!');
},
ttShow:function(showName){
console.log('May you can '+showName+' show?');
}
};
letShow:function(){
console.log('i can show!');
},
ttShow:function(showName){
console.log('May you can '+showName+' show?');
}
};
跟上篇配置论区别就是没有开辟为jq的对象,作用域基本相同。
如若以$.fn.方法名 = function(){};这种写法来写的话,则不会影响到空间名称相同而导致冲突。
例:
$.fn.hilight = function(options) {
$(this).css($.extend({
background: 'yellow'
}, options));
};
$('#myDiv').hilight({
background: 'blue'
});
$(this).css($.extend({
background: 'yellow'
}, options));
};
$('#myDiv').hilight({
background: 'blue'
});
例:
$.fn.deplorNam = function(elementsNam){
propertys = {};
//属性名为键值对,以json的格式
var alias = $.extend(propertys,elementsNam);
this.each(function(){
//主区
});
}
propertys = {};
//属性名为键值对,以json的格式
var alias = $.extend(propertys,elementsNam);
this.each(function(){
//主区
});
}
调用方式: $('....').deplorNam({ '相对应的key值' : '自己的值' });
浙公网安备 33010602011771号