I decided to try and challenge myself by making a dice roller for multiple die types; D20, D12,D10,D8,D6,D4 that will return an image connected to the result. The user can choose which die on the page to roll. The first die I made was a D20, so it has 20 results to return. I have a few of questions.
My first function the D20 works great! Except, that when it returns the result of 12. The image does not load. I checked, the image is there, the path seems correct but it just doesn't recognize it... Why is that?
I thought since the first one worked I could just use the same code and rename the variables to correspond with the new die... I did this but when I click any of the other dice rollers they don't run.
Is jQuery the best language to use for this example? Is there a way to simplify my code? Since I have to reference a different set of images for each die I was not sure how to break this up.
$(document).ready(function() {
$('.rollDice20').on('click', function() {
var randImage20 = Math.floor(Math.random() * 20) + 1;
$('.imageGoHere20').html('');
$('.random20').html(randImage20);
$('.holder20 img#i' + randImage20).clone().appendTo('.imageGoHere20');
});
$('.imageGoHere20').html(randImage20);
});
$(document).ready(function() {
$('.rollDice10').on('click', function() {
var randImage10 = Math.floor(Math.random() * 10) + 1;
$('.imageGoHere10').html('');
$('.random10').html(randImage10);
$('.holder10 img#a' + randImage10).clone().appendTo('.imageGoHere10');
});
$('.imageGoHere10').html(randImage10);
});
<style type="text/css">.floating-box {
display: inline-block;
width: 350px;
height: 75px;
margin: 10px;
border: none;
text-align: center;
}
img {
height: 250px;
width: 195px;
}
.holder20 {
display: none;
}
.holder10 {
display: none;
}
</style>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js" integrity="sha256-Qw82+bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU=" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js" integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30=" crossorigin="anonymous"></script>
<div class='holder20'>
<img id='i1' src='http://iambesser.me/DA/images/20/1D20.png' />
<img id='i2' src='http://iambesser.me/DA/images/20/2D20.png' />
<img id='i3' src='http://iambesser.me/DA/images/20/3D20.png' />
<img id='i4' src='http://iambesser.me/DA/images/20/4D20.png' />
<img id='i5' src='http://iambesser.me/DA/images/20/5D20.png' />
<img id='i6' src='http://iambesser.me/DA/images/20/6D20.png' />
<img id='i7' src='http://iambesser.me/DA/images/20/7D20.png' />
<img id='i8' src='http://iambesser.me/DA/images/20/8D20.png' />
<img id='i9' src='http://iambesser.me/DA/images/20/9D20.png' />
<img id='i10' src='http://iambesser.me/DA/images/20/10D20.png' />
<img id='i11' src='http://iambesser.me/DA/images/20/11D20.png' />
<imd id='i12' src='http://iambesser.me/DA/images/20/12D20.png' />
<img id='i13' src='http://iambesser.me/DA/images/20/13D20.png' />
<img id='i14' src='http://iambesser.me/DA/images/20/14D20.png' />
<img id='i15' src='http://iambesser.me/DA/images/20/15D20.png' />
<img id='i16' src='http://iambesser.me/DA/images/20/16D20.png' />
<img id='i17' src='http://iambesser.me/DA/images/20/17D20.png' />
<img id='i18' src='http://iambesser.me/DA/images/20/18D20.png' />
<img id='i19' src='http://iambesser.me/DA/images/20/19D20.png' />
<img id='i20' src='http://iambesser.me/DA/images/20/20D20.png' />
</div>
<div class='holder10'>
<img id='a20' src='http://iambesser.me/DA/images/10/1D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/2D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/3D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/4D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/5D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/6D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/7D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/8D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/8D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/9D10.png' />
<img id='a20' src='http://iambesser.me/DA/images/10/10D10.png' />
</div>
<div class='floating-box'>
<div class='imageGoHere20'></div>
<p> You Rolled</p>
<div class='random20'></div>
<button class='rollDice20'>Roll D20 </button>
</div>
<div class='floating-box'>
<div class='imageGoHere10'></div>
<p> You Rolled</p>
<div class='random10'></div>
<button class='rollDice10'>Roll D10</button>
</div>