2017-05-30 1 views
0

Ich würde gerne wissen, ob es eine Möglichkeit gibt, Bilder zu den Arrays meines Spielautomaten hinzuzufügen? Im Moment konnte ich nur Nummern im Array hinzufügen.Hinzufügen von Bildern zu meinem Array?

Bisher habe ich das, ich weiß, gibt es nur eine Wahl in meinem Array, dann ist es mit Absicht:

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

Ein paar Kommentare: * Wenn Sie Bilder anzeigen möchten, betten Sie sie in reel * divs ein und ändern Sie das Attribut src, um sie anzuzeigen. Es ist in Ordnung, die URL der Bilder in Ihrem Skript zu verwenden. * Es ist nicht notwendig, den wahren Wert zu überprüfen, verwende nicht "if (etwas == wahr)", verwende "if (etwas)". PS: Um Elemente zu einem Array hinzuzufügen, gibt es eine "Push" -Funktion. – Loksly

Antwort

0

Sie sollten die backgroundImage verwenden JavaScript-Eigenschaft und bieten Wert mit einer Quelle aus dem Array arr.

Siehe Code:

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 steht für Standard-Schriftart auf Ihrer Seite und es wird zeigt nur Text. Da in Ihrem Array der Wert #7.png ist und nur # 7.png angezeigt wird. Durch Hinzufügen des folgenden Codes wird img-Tag in Ihrem HTML-Code erstellt, wobei die Bilder zufällig sind.

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

Allerdings, wenn Sie ein Standardbild erstellen, würde ich vorschlagen, dass Sie nur einen Img-Tag in Ihrem div hinzufügen, und nur das src von src Code-Attribut ändern, wird es viel einfacher sein und effiecnt

Verwandte Themen