2017-10-04 133 views
-1

对不起,前面的东西从数组中获取值,我是新来的。所以这里是我遇到问题的部分代码。它说throwOuts是不确定的,我已经编辑我的jsfiddle到我添加的东西,但它仍然无法正常工作,不幸的Javascript:我似乎无法

Jsfiddle支持我的问题,看的Javascript:

p1_score = parseInt(document.getElementById("player_1").innerHTML); 
    var p1_out = throwOuts[p1_score]; 
    console.log(p1_out); 
    p1_score = p1_score* 1 - score* 1; 
    if (p1_score >= 2) 
    { 
     if (p1_score <= 170) 
     { 
      document.getElementById("outs").innerHTML = p1_out; 
      document.getElementById("player_1").innerHTML = p1_score; 
      document.getElementById("score").value = ""; 
      player_switch() 
      return; 
     } 
+1

安置自己的代码在这里,还有一个原因是没有在帖子编辑器,警告有关使用的jsfiddle链接,而无需缴纳码 –

+1

警告请注明[MCVE]你的帖子里面,而不是外部的相关部分链接。 SO还具有HTML/CSS/JS示例的代码片段功能。 – juzraai

+1

我猜你的代码设置,您需要在身体包裹,这样的功能被加载之前的工作只是在JS提琴点击https://jsfiddle.net/hzuyw8cr/2/ –

回答

0

看着你的JSFiddle,很明显throwOuts只是在你的function outs(p1_score,p2_score)函数中定义的。

将您的代码从outs函数中移出throwOutsvar throwOuts=[];),并且它应该正常工作。

此外,一些观察:

  1. 你似乎没有在任何地方修改throwOuts。如果是这种情况,您可能只需要拨打outs一次,因为您只需要初始化阵列一次。
  2. 在线17(if (p1_score <= 170))和46(if (p2_score <= 170)),如果块和else块做同样的事情。这是一个错字吗?
+0

非常感谢。这不是TYPO。正如你可能已经看到这是飞镖的东西。我为2名球员做了。 线17背后的思想和46是可以完成的游戏,一旦你打了170分,所以从这一点我想的HTML设置为扔出去的可能性。我做了2次,因为双方球员都会有不同的得分如此不同抛出 非常感谢你对我的帮助,我真的很感激! – Sylent

+0

我的意思是,else块和if块有相同的代码,这种情况发生在第17行和第46行 –

+0

哦。那么我做到了,所以代码无论如何都会被执行。在if块我会添加时的点下170了一些东西,如果它在170点不是它仍然需要exucuted :) – Sylent