簡體   English   中英

如何從用戶那里獲取值並在Javascript中使用它

[英]How can I get a value from user and use it in Javascript

我正在嘗試制作問答游戲,並希望允許用戶選擇游戲難度。 我有一個JSON列表,其中包含問題。

var easy = '[{"eser":"Question1","yazar":"Answer1"},{"eser":"Question2","yazar":"Answer2"}]';
var hard = '[{"eser":"Question3","yazar":"Answer3"},{"eser":"Question4","yazar":"Answer4"}]';

我像下面這樣解析

difficulty = JSON.parse(easy);
var count = Object.keys(difficulty).length;

游戲打開時,它將顯示一個彈出窗口,要求用戶選擇難度。 基本上,當用戶單擊“困難”時,我想捕獲它並更改上面的代碼,即difficulty = JSON.parse(hard);

HTML代碼在這里

<div class="button_easy">Easy</div>
<div class="button_hard">Hard</div>

謝謝

不要使用單獨的變量,而應使用其鍵與它們選擇的元素中的某物相對應的對象。

const questions = {
    easy: [{"eser":"Question1","yazar":"Answer1"},{"eser":"Question2","yazar":"Answer2"}],
    hard: [{"eser":"Question3","yazar":"Answer3"},{"eser":"Question4","yazar":"Answer4"}]
};

HTML可以像:

<div class="difficulty" data-level="easy">Easy</div>
<div class="difficulty" data-level="hard">Hard</div>

JS將是:

let chosen_questions;
document.querySelector(".difficulty").forEach(b => b.addEventListener("click", function() {
    let level = this.dataset.level;
    chosen_questions = questions[level];
}));

您可以使用eval函數來實現(如果沒有這樣的變量以user_choice表示的字符串,則這里將省略錯誤處理):

 var difficulty = JSON.parse(eval(user_choice))

但是我認為最好將這兩個列表放在這樣的字典中:

var difficulty_dic = {
  'easy': easy,
  'hard': hard
}

然后您可以執行以下操作:

var difficulty = JSON.parse(difficulty_dic[user_choice])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM