注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Aramey

前端开发

 
 
 

日志

 
 
 
 

关于插件参数动态调用的方法  

2014-08-06 11:20:51|  分类: 前端开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在使用插件的时候我们都知道如果要配置自己的功能需要设置相对应的参数,这时候如果这个参数是动态的,我们该如何调用呢?

例如:

$(document).ready(function() {

var setInfo = 6;

// #setData 为要绑定的按钮1
$('#setData').calendar({
insetParentBox : '.wapper', // 要插入的父级元素
tmInputs : '#start_date', // 要输入时间的输入框
allDate : false, // 当天前的日期不能选择
symbol : '', // 日历间隔符:2014-08-05,2014/08/05
setInfo : setInfo
});

});

这时候如果 setInfo 这个变量是动态的,我们的插件会出什么状况呢?

$(document).ready(function() {

var setInfo = 6;

$('.setBtn').each(fucntion(index){

$(this).click(function(){

setInfo = index;

});

});

// #setData 为要绑定的按钮1
$('#setData').calendar({
insetParentBox : '.wapper', // 要插入的父级元素
tmInputs : '#start_date', // 要输入时间的输入框
allDate : false, // 当天前的日期不能选择
symbol : '', // 日历间隔符:2014-08-05,2014/08/05
setInfo : setInfo
});

});


从代码可以看出,我们根据用户动态的点击来改变setInfo的值,这时候如果在使用插件的话,我们会发现插件没有根据用户的点击而改变插件的形态,为什么呢?

因为插件的参数是静态的,在页面初始化的时候就固定了的。而插件里面动态的事件是调用静态的参数的,所以我们看到的都是同一种效果。

这时候我们就需要考虑把参数动态化了!

我们可以设置一个全局变量,或者全局对象,我们只需要把全局变量的名称传入插件内就行,在插件内用这个全局变量名来调用动态的参数也就是这个全局变量。

例:

var setInfo = 6;

可以改成: window.setInfo = 6;


$('#setData').calendar({

setInfo : ‘setInfo’

});

通过这种形式的转换来达到动态调用参数的作用,当然,你也可以设置全局的对象再调用,就看你如何抉择了。
  评论这张
 
阅读(274)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017