比如function fn(a,b,c,d,e...){}
这个函数调用的时候可以一个参数也不传,也可以传很多个参数。传入的参数个数是可变化的,就叫做可变参数。
如果觉得输入参数太多很麻烦,可以采用传入对象的方式。
比如function fn(options) {}
其中options是一个可以自由扩展的集合
{
a:1,
b:2,
c:3,
d:1
.......
}
可以通过options.a options.b这种形式访问
先看下jquery $.fn $.fx是什么意思
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.
那么你可以这样子:$("#div").abc()
这个您最好做一个全局的变量来判断,这样才好控制其执行与不执行,省去多余的重复的绑定。
另外一种就是实例开始已经对元素绑定了事件,那么只需要unbind其事件即可,前提是fn里的绑定事件也是用bind绑定的。
var isbind=truefunction jiebang(){
isbind=false
}
$(function(){
$('.ABC').swipeSS()
})
(function(win,$){
$.fn.swipeS = function(options){
return this.each(function(){
$(this).on("touchstart", function(event) {
if(!isbind){return}//这里判断
alert( $( this ).css('height') )
}
}
}
这是jquery的插件,(function($){})应该是(function($){})(jQuery),也就是把jQuery对像传进函数里面去,用$表示,以防外部的$被误改变或jquery指定不能用$时(兼容其它框架),而造致jquery功能的失效。和$(function(){})是两回事,这个是执行一个匿名函数.$.fn.wBox就是jquery自定义的功能,等同于$.prototype.wBox,后面跟的是参数,用的是json对象。