2017-10-04 159 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