"的onEvent()"点击

时间:2017-01-20 00:40:49

标签: javascript app-lab code.org

我正在使用App Lab bu code.org,这可以让我制作一个" app"使用块或它们的JavaScript等价物。在这个应用程序中,我正在应用此图表中所示的运动方程:

enter image description here

我的程序根据用户输入的时间r或水平范围以及发射角度(当前未使用)计算最大高度和水平速度。为此,它将四个方程中的第一个操纵为:

v_x = (x - x_0) / t

或简单地说,水平速度是水平行进的总距离减去初始水平速度(总是0)除以时间。对于高度,它只使用第二个等式。代码:

var time = 1;
var range = 1;
var angle = 0;

var GRAVITY = -32.2;
var v_yo = 0;
var y_o = 0;

setText("time", time);
setText("x_range", range);
setText("launch", angle);

function horizontal_velocity() {
  var v_x = ((range - 0)/time * 3600)/5280;
  setText("text_area1", v_x.toFixed(5));
}

function maximum_height() {
  var height = 0.5 * GRAVITY * Math.pow(time/2, 2) + (v_yo * (time/2)) + y_o;
  setText("text_area2", height.toFixed(5));
}
onEvent("timey", "click", function(event) {
  setText("time", 0);
  });

while (GRAVITY < 0) {
  time = getText("time");
  range = getText("x_range");
  angle = getText("launch");
  v_yo = 0 - GRAVITY * (time/2);
  horizontal_velocity();
  maximum_height();
}

结果完全正常(test it here),但有一点不起作用的是Clear按钮......现在只是第一个。其余的没有附加任何代码。所以要清除&#34;清除&#34;标签Time in Seconds下的文本字段,您需要单击按钮。这应该会触发代码中的onEvent()并调用setText("timey", 0),该0应该用onEvent()替换当前文本。

不幸的是,在调试期间,它显示单击按钮时,它甚至不会调用不允许第一个按钮工作的onEvent()。对于那些对onEvent()做什么感到好奇的人,请查看doc那么,即使按钮timey和第二个参数click的ID分别对应正确的按钮和操作,为什么onEvent()不会被调用。此外, NameError: name 'latent_dim' is not defined 中的代码是一个函数,如果您检查文档中的第三个示例,这是合法的。

编辑器还包括一个设计部分:

enter image description here

0 个答案:

没有答案