定义插件的默认值

时间:2012-04-16 21:17:49

标签: jquery plugins default

我想为我的插件定义默认值,这是javascript代码:

var opts = {
    'width': 957,
    'height': 590,
    'left': ($(window).width() / 2) - (this.width),
    'top': ($(window).height() / 2) - (this.height)
};​

opts.left返回NaN。 什么是问题?

编辑:我希望在我的对象中使用 width

2 个答案:

答案 0 :(得分:0)

this.width不是数值。

  

NaN值的来源

     

当算术运算导致未定义或不可表示的值时,会生成NaN值。这些值不一定代表溢出条件。 NaN也是由于尝试强制转换为非数值的数值而没有原始数值可用。


根据评论进行更新:

this不是对象,它是函数的调用者。因此this.width不会向您提供该属性的width

Working LIVE DEMO

答案 1 :(得分:0)

最有可能的是,this.width正在为您返回 undefined 非数字值。

例如: 100 - undefined会返回NaN

尝试使用$(this).width()$(this).height()

var opts= {
      'width': 957,
      'height': 590,
      'left': ($(window).width()/2)-($(this).width()),
      'top':  ($(window).height()/2)-($(this).height())
};

以上应该在有效的上下文中提供this