我有这个(新手)JS问题:
我有这个简单的函数 function movieStorage(),我想检查是否单击了“是”按钮-如果这样,它将把输出(RandomItem)存储在一个新数组(movieSaver)中。 / p>
输出是hMovies数组中的随机值-单击“是”按钮时生成。
var hMovies = [
"hMovie1",
"hMovie18"
];
var movieSaver = [];
var randomItem = hMovies[Math.floor(Math.random() * hMovies.length)];
document.getElementById("buttonYes").addEventListener("click", ifClickedYes);
function ifClickedYes() {
document.getElementById("showResult").innerHTML = randomItem;
return (true);
}
function movieStorage() {
if (ifClickedYes()) {
movieSaver.push(randomItem);
}
}
console.log(movieSaver);
<button id="buttonYes">Yes</button>
<div id="showResult"></div>
答案 0 :(得分:1)
没有必要检查始终为true
的条件。您不需要第二个功能。您唯一需要做的就是将元素推到onclick
事件附带的函数中的数组中。
此外,每次使用都会在点击时生成一个新的随机索引。
var hMovies = [
"hMovie1",
"hMovie18"];
var movieSaver = [];
document.getElementById("buttonYes").addEventListener("click", ifClickedYes);
function ifClickedYes(){
var randomItem = hMovies[Math.floor(Math.random()*hMovies.length)];
movieSaver.push(randomItem)
document.getElementById("showResult").innerHTML = randomItem;
console.log(movieSaver);
}
var hMovies = [
"hMovie1",
"hMovie18"];
var movieSaver = [];
document.getElementById("buttonYes").addEventListener("click", ifClickedYes);
function ifClickedYes(){
var randomItem = hMovies[Math.floor(Math.random()*hMovies.length)];
movieSaver.push(randomItem)
document.getElementById("showResult").innerHTML = randomItem;
console.log(movieSaver);
}
<button id="buttonYes">Yes</button>
<div id="showResult"></div>