代码之家  ›  专栏  ›  技术社区  ›  Jack Roscoe

使用javascript呈现HTML;除了值外,没有任何内容出现

  •  1
  • Jack Roscoe  · 技术社区  · 14 年前

    我从函数外部定义的一些变量中获取一些信息,以创建HTML SVG文本框。

    这是给我带来麻烦的功能:

     RenderTextBox:function()
    {
      alert('this.x: ' + this.x);
      alert('this.y: ' + this.y);
      this.textBox = paper.text(this.x, this.y, this.htmlTextBox);
     }
    

    警报工作正常,并用预期值提示我。但是,应该创建文本框的最后一行将它们放在看不到的地方。有人知道为什么吗?

    如果我替换 this.x, this.y.. '在函数的最后一行使用数值时,文本框被正确放置。只有当我使用“this.x”和“this.y”时,我才会有问题。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Boris Delormas    14 年前

    有时数值会转换成字符串。这是关于javascript的一个非常糟糕的地方:不需要输入变量。

    您应该尝试将它们作为int进行分析,以便使它们再次作为整数进行反应: http://www.w3schools.com/jsref/jsref_parseInt.asp

        2
  •  0
  •   Nivas    14 年前

    疯狂的猜测:你试着把球 this.x this.y 然后把这些变量传递给最后一行的函数调用?

    类似:

    var tx = this.x;
    var ty = this.y;
    this.textBox = paper.text(tx, ty, this.htmlTextBox);