基于jQuery原型的范围解析抛出NaN错误

时间:2019-06-28 09:58:53

标签: javascript jquery asp.net master-pages document-ready

试图将数字值从一个函数传递给另一个函数(将值测试为数字),但是当我从另一个函数访问所述值时,出现“ NaN”错误。从该SO What is the scope of variables in JavaScript?尝试了以下示例6(高级),但对我不起作用。

该如何解决?

wishlist

2 个答案:

答案 0 :(得分:0)

由于它们应为数字,因此您可能应该将它们初始化为0-undefined的数学运算很可能是NaN的来源。您还应该使用更简单的变量声明语法:

var institution1Left = institution2Left = institution3Left = authorityLeft = inst1Left = inst2Left = inst3Left = authLeft = 0;

答案 1 :(得分:0)

问题在您的calculateNode()函数中。更改左侧位置时未使用此指针。尝试以下更改:

function calculateNode() {
    this.institution1Left = getOffset(document.getElementById('institution1')).left;
    this.institution2Left = getOffset(document.getElementById('institution2')).left;
    this.institution3Left = getOffset(document.getElementById('institution3')).left;
    this.authorityLeft = getOffset(document.getElementById('authority')).left;

    //change node Left positioning
    this.inst1Left = this.institution1Left - 26;
    this.inst2Left = this.institution2Left - 26;
    this.inst3Left = this.institution3Left - 27;
    this.authLeft = this.authorityLeft - 27;
}