2017-05-30 25 views
0

私のスロットマシンのアレイに画像を追加する方法があるかどうか知りたいですか?今は配列に数値を追加できるようになりました。イメージをアレイに追加していますか?

これまでのところ、私はこれを持って、私は、唯一の選択肢は私の配列であります知っている、それが目的である:

var arr = ["#7.png"]; 
 

 
// var arr = [5]; 
 
var credits = 10; 
 

 
function freezeCheck() { 
 
    if (document.getElementById("hold1").checked == true || document.getElementById("hold2").checked == true || document.getElementById("hold3").checked == true) { 
 
    // if any is checked, freeze hold buttons. 
 
    document.getElementById("hold1").checked = false; 
 
    document.getElementById("hold2").checked = false; 
 
    document.getElementById("hold3").checked = false; 
 

 
    document.getElementById("hold1").disabled = true; 
 
    document.getElementById("hold2").disabled = true; 
 
    document.getElementById("hold3").disabled = true; 
 
    } else if (document.getElementById("hold1").disabled == true) { 
 
    // if any diabled, enable (unfreeze) all hold buttons. 
 
    document.getElementById("hold1").disabled = false; 
 
    document.getElementById("hold2").disabled = false; 
 
    document.getElementById("hold3").disabled = false; 
 
    document.getElementById("reel1").classList.remove('hold'); 
 
    document.getElementById("reel2").classList.remove('hold'); 
 
    document.getElementById("reel3").classList.remove('hold'); 
 
    } 
 
}; 
 

 
function getNumbers() { 
 
    if(document.getElementById("hold1").checked == false){ 
 
    document.getElementById("reel1").innerHTML = arr[Math.floor(Math.random() * arr.length)]; 
 
    } if (document.getElementById("hold2").checked == false){ 
 
    document.getElementById("reel2").innerHTML = arr[Math.floor(Math.random() * arr.length)]; 
 
    } if (document.getElementById("hold3").checked == false){ 
 
    document.getElementById("reel3").innerHTML = arr[Math.floor(Math.random() * arr.length)]; 
 
    } 
 

 
    updateScore(); 
 
    insertCoins(); 
 
}; 
 

 
function calculateScore() { 
 
    document.getElementById('credits').innerHTML = credits; 
 
} 
 

 
    // Win, three alike. 
 
function updateScore() { 
 
    if(document.getElementById("reel1").textContent == document.getElementById("reel2").textContent && document.getElementById("reel1").textContent == document.getElementById("reel3").textContent){ 
 
     credits += document.getElementById("reel1").textContent * 10; 
 
    } else if("reel1" != "reel2"){ 
 
     credits -= 2; 
 
    } 
 
}; 
 

 
function insertCoins() { 
 
    if (credits <1){ 
 
    document.getElementById("spin").disabled = true; 
 
    } 
 
}; 
 

 
function freezeReel(num) { 
 
    if (document.getElementById('hold'+num).checked == true) { 
 
    // Unfreeze reel 
 
    document.getElementById("hold"+num).checked = false; 
 
    document.getElementById("reel"+num).classList.remove('hold'); 
 
    } else { 
 
    // Freeze reel: 
 
    document.getElementById("hold"+num).checked = true; 
 
    document.getElementById("reel"+num).classList.add('hold'); 
 
    } 
 
}
* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.marginauto { 
 
    margin: 0 auto; 
 
} 
 
.button-wrapper { 
 
    text-align: center; 
 
    margin-top: 15%; 
 
} 
 
.hold-wrapper { 
 
    text-align: center; 
 
    margin: 10px; 
 
    font-size: 48px; 
 
} 
 
.holdbutton { 
 
    width: 140px; 
 
    height: 200px; 
 
    visibility: hidden; 
 
} 
 
.credits { 
 
    width: 250px; 
 
    height: 100px; 
 
    margin: 0 auto; 
 
    text-align: center; 
 
} 
 
.reel-wrapper { 
 
    width: 1280px; 
 
    text-align: center; 
 
    margin-top: 10px; 
 
    background-color: #ffffff; 
 
} 
 
.button { 
 
    background-color: white; 
 
} 
 
.reels { 
 
    background-color: #ffffff; 
 
    display: inline-block; 
 
    font-size: 48px; 
 
    text-align: center; 
 
    width: 150px; 
 
    height: 200px; 
 
    border: 1px solid black; 
 
    border-radius: 2px; 
 
} 
 
.reels.hold { 
 
    border-color: blue; 
 
    background: #ccc; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
 
    <link type="text/css" rel="stylesheet" href="stylesheet.css" /> 
 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
 
    <title> </title> 
 
</head> 
 
<body> 
 
    <header></header> 
 
    <div class="button-wrapper"> 
 
    <input id="spin" type="button" onClick="getNumbers(); freezeCheck(); calculateScore();" value="Spin" /> 
 
    </div> 
 
    <div class="reel-wrapper marginauto"> 
 
    <div id="reel1" onClick="freezeReel(1);" class="reels"></div> 
 
    <div id="reel2" onClick="freezeReel(2);" class="reels"></div> 
 
    <div id="reel3" onClick="freezeReel(3);" class="reels"></div> 
 
    </div> 
 
    <div class="hold-wrapper"> 
 
    <input id="hold1" type="checkbox" value="Hold" class="holdbutton" /> 
 
    <input id="hold2" type="checkbox" value="Hold" class="holdbutton" /> 
 
    <input id="hold3" type="checkbox" value="Hold" class="holdbutton" /> 
 
    </div> 
 
    <div class="credits">Your Credits: <span id="credits"></span></div> 
 
    <script src="script.js"></script> 
 
</body> 
 

 
</html>

+0

コメントのカップル:*あなたがしたいのは、それらをreel * divs内に埋め込んだ画像を表示し、src属性を変更して表示することです。スクリプト内の画像のURLを使用するのは大丈夫です。 *本当の値を再確認する必要はなく、 "if(something == true)"を使わず、 "if(something)"を使う。 PS:配列に要素を追加するには、 "push"関数があります。 – Loksly

答えて

0

あなたはbackgroundImage javascriptのプロパティを使用し、ソースと価値を提供する必要があります配列arrから。

はコードを参照してください。

var arr = ['image1.png', 'image2.png', 'image3.png']; 
 

 
var credits = 10; 
 

 
function freezeCheck() { 
 
    if (document.getElementById("hold1").checked == true || document.getElementById("hold2").checked == true || document.getElementById("hold3").checked == true) { 
 
    // if any is checked, freeze hold buttons. 
 
    document.getElementById("hold1").checked = false; 
 
    document.getElementById("hold2").checked = false; 
 
    document.getElementById("hold3").checked = false; 
 

 
    document.getElementById("hold1").disabled = true; 
 
    document.getElementById("hold2").disabled = true; 
 
    document.getElementById("hold3").disabled = true; 
 
    } else if (document.getElementById("hold1").disabled == true) { 
 
    // if any diabled, enable (unfreeze) all hold buttons. 
 
    document.getElementById("hold1").disabled = false; 
 
    document.getElementById("hold2").disabled = false; 
 
    document.getElementById("hold3").disabled = false; 
 
    document.getElementById("reel1").classList.remove('hold'); 
 
    document.getElementById("reel2").classList.remove('hold'); 
 
    document.getElementById("reel3").classList.remove('hold'); 
 
    } 
 
}; 
 

 
function getNumbers() { 
 
    if(document.getElementById("hold1").checked == false){ 
 
    document.getElementById("reel1").backgroundImage = "url(" + arr[0] + ")"; 
 
    } if (document.getElementById("hold2").checked == false){ 
 
    document.getElementById("reel2").backgroundImage = "url(" + arr[1] + ")"; 
 
    } if (document.getElementById("hold3").checked == false){ 
 
    document.getElementById("reel3").backgroundImage = "url(" + arr[2] + ")"; 
 
    } 
 

 
    updateScore(); 
 
    insertCoins(); 
 
}; 
 

 
function calculateScore() { 
 
    document.getElementById('credits').innerHTML = credits; 
 
} 
 

 
    // Win, three alike. 
 
function updateScore() { 
 
    if(document.getElementById("reel1").textContent == document.getElementById("reel2").textContent && document.getElementById("reel1").textContent == document.getElementById("reel3").textContent){ 
 
     credits += document.getElementById("reel1").textContent * 10; 
 
    } else if("reel1" != "reel2"){ 
 
     credits -= 2; 
 
    } 
 
}; 
 

 
function insertCoins() { 
 
    if (credits <1){ 
 
    document.getElementById("spin").disabled = true; 
 
    } 
 
}; 
 

 
function freezeReel(num) { 
 
    if (document.getElementById('hold'+num).checked == true) { 
 
    // Unfreeze reel 
 
    document.getElementById("hold"+num).checked = false; 
 
    document.getElementById("reel"+num).classList.remove('hold'); 
 
    } else { 
 
    // Freeze reel: 
 
    document.getElementById("hold"+num).checked = true; 
 
    document.getElementById("reel"+num).classList.add('hold'); 
 
    } 
 
}
* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.marginauto { 
 
    margin: 0 auto; 
 
} 
 
.button-wrapper { 
 
    text-align: center; 
 
    margin-top: 15%; 
 
} 
 
.hold-wrapper { 
 
    text-align: center; 
 
    margin: 10px; 
 
    font-size: 48px; 
 
} 
 
.holdbutton { 
 
    width: 140px; 
 
    height: 200px; 
 
    visibility: hidden; 
 
} 
 
.credits { 
 
    width: 250px; 
 
    height: 100px; 
 
    margin: 0 auto; 
 
    text-align: center; 
 
} 
 
.reel-wrapper { 
 
    width: 1280px; 
 
    text-align: center; 
 
    margin-top: 10px; 
 
    background-color: #ffffff; 
 
} 
 
.button { 
 
    background-color: white; 
 
} 
 
.reels { 
 
    background-color: #ffffff; 
 
    display: inline-block; 
 
    font-size: 48px; 
 
    text-align: center; 
 
    width: 150px; 
 
    height: 200px; 
 
    border: 1px solid black; 
 
    border-radius: 2px; 
 
} 
 
.reels.hold { 
 
    border-color: blue; 
 
    background: #ccc; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
 
    <link type="text/css" rel="stylesheet" href="stylesheet.css" /> 
 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
 
    <title> </title> 
 
</head> 
 
<body> 
 
    <header></header> 
 
    <div class="button-wrapper"> 
 
    <input id="spin" type="button" onClick="getNumbers(); freezeCheck(); calculateScore();" value="Spin" /> 
 
    </div> 
 
    <div class="reel-wrapper marginauto"> 
 
    <div id="reel1" onClick="freezeReel(1);" class="reels"></div> 
 
    <div id="reel2" onClick="freezeReel(2);" class="reels"></div> 
 
    <div id="reel3" onClick="freezeReel(3);" class="reels"></div> 
 
    </div> 
 
    <div class="hold-wrapper"> 
 
    <input id="hold1" type="checkbox" value="Hold" class="holdbutton" /> 
 
    <input id="hold2" type="checkbox" value="Hold" class="holdbutton" /> 
 
    <input id="hold3" type="checkbox" value="Hold" class="holdbutton" /> 
 
    </div> 
 
    <div class="credits">Your Credits: <span id="credits"></span></div> 
 
    <script src="script.js"></script> 
 
</body> 
 

 
</html>

0

innerHTMLは、ページ内の標準フォントの略で、それはテキストのみを示しています。あなたの配列では、その値は#7.pngであり、#7pngしか表示されません。 次のコードを追加すると、イメージがランダムになっているHTMLコードにimgタグが作成されます。デフォルトの画像を作成することができるかどう

var elem = document.createElement("img"); 
elem.setAttribute("src", arr[Math.floor(Math.random() * arr.length)]); 
elem.setAttribute("alt", "Slotimg"); 
document.getElementById("reel1").appendChild(elem); 

しかし、私はあなたがちょうどあなたのdivにimgタグを追加し、ちょうどSRCコードによってsrc属性を変更することをお勧め、はるかに簡単になるだろうとeffiecntれ

関連する問題