我想定义默认为我的插件默认,这是javascript代码:定义插件
var opts = {
'width': 957,
'height': 590,
'left': ($(window).width()/2) - (this.width),
'top': ($(window).height()/2) - (this.height)
};
但opts.left
回报NaN
。 什么是问题?
编辑:我想使用宽度从我的对象在我的对象。
我想定义默认为我的插件默认,这是javascript代码:定义插件
var opts = {
'width': 957,
'height': 590,
'left': ($(window).width()/2) - (this.width),
'top': ($(window).height()/2) - (this.height)
};
但opts.left
回报NaN
。 什么是问题?
编辑:我想使用宽度从我的对象在我的对象。
this.width
不是一个数值。
的NaN原产值时算术运算导致未定义的或不可表示的值
NaN值产生的。这些值不一定代表溢出条件。 NaN也是由于试图强制转换为非数字值的数字值,而这些数字值没有可用的基本数值。
更新基于注释:
this
不是对象,它的函数的调用者。因此this.width
不会给你财产的width
。
最有可能的,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
。
你需要告诉我们更多关于这个opts在哪里的内容。如果你有这里面的插件代码,你打电话这就像一个jQuery函数..那么'$(this).width()'应该让你的宽度 – 2012-04-16 21:33:51
@Vega让我解释一下,我有一个插件,我想设置宽度,高度,左侧和右侧默认情况下,所以我创建了一个对象,并在此对象上我有4个属性(宽度,高度,左,右)。宽度和高度是一个常数(宽度:957和高度:590)现在我想从这个属性计算左边和顶部的值,所以我需要在我的对象中的这个属性的值。 – MajAfy 2012-04-16 21:56:37