Dice roller
How do I make an dice roller?
What is a dice roller? How do you make a dice roller? This script and codes were developed by Dave on 17 September 2022, Saturday.
Dice roller - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Dice roller</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="wrapper">
<div id="background"> <header> <img id="battle" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/124215/Battle Dice.png" alt="Battle dice logo"> </header> <div id="scroll"> <div class="js-test-roll-area"></div> <form class="js-dice-roll"> <fieldset> <legend>Number of dice</legend> <div> <button class="js-die" data-type="amount" value="0" type="button">0</button> <button class="js-die" data-type="amount" value="1" type="button">1</button> <button class="js-die" data-type="amount" value="2" type="button">2</button> <button class="js-die" data-type="amount" value="3" type="button">3</button> <button class="js-die" data-type="amount" value="4" type="button">4</button> <button class="js-die" data-type="amount" value="5" type="button">5</button> <button class="js-die" data-type="amount" value="6" type="button">6</button> <button class="js-die" data-type="amount" value="7" type="button">7</button> <button class="js-die" data-type="amount" value="8" type="button">8</button> <button class="js-die" data-type="amount" value="9" type="button">9</button> </fieldset> <fieldset> <legend>Type of dice</legend> <div> <button class="js-die" value="4" type="button">d4</button> <button class="js-die" value="6" type="button">d6</button> <button class="js-die" value="8" type="button">d8</button> <button class="js-die" value="10" type="button">d10</button> <button class="js-die" value="12" type="button">d12</button> <button class="js-die" value="20" type="button">d20</button> <button class="js-die" value="100" type="button">d100</button> </fieldset> <button type="button" class="js-die" value="clear">Clear</button><button>Roll</button> </form> </div> <div id="footer"><p>© 2017 Dice To The Face</p></div> </div> <script src="js/index.js"></script>
</body>
</html>
Dice roller - Script Codes CSS Codes
button { cursor: pointer;
}
fieldset { border: 0;
}
#wrapper { background: -webkit-linear-gradient(grey, black); background: linear-gradient(grey, black); margin: 0 auto; text-align: center; width: 100%; height: 100%;
}
#scroll { height: 100%; max-width: 650px; background-color: #efefef; border-radius: 10px; margin: 0 auto;
}
#battle { height: 200px; margin: -40px 0 0 -20px;
}
#footer { background-color: #efefef; padding: 10px; margin: 10px;
}
Dice roller - Script Codes JS Codes
"use strict";
// Utils
var findAll = function findAll(selector) { var context = arguments.length <= 1 || arguments[1] === undefined ? document : arguments[1]; return context.querySelectorAll(selector);
};
var find = function find(selector) { var context = arguments.length <= 1 || arguments[1] === undefined ? document : arguments[1]; return context.querySelector(selector);
};
var each = function each(array, func) { for (var i = 0; i < array.length; i++) { func(array[i], i); }
};
// App
var canvas = find(".js-test-roll-area");
var getRandom = function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min;
};
var roll = function roll(d) { return getRandom(1, d);
};
var sum = function sum(array) { return array.reduce(function (a, b) { return a + b; });
};
var rollDie = function rollDie(e) { e.preventDefault(); var total = []; var form = e.target; var quantity = form.elements["number-of-dice"].value; var type = form.elements["type-of-dice"].value; for (var i = 0; i < quantity; i++) { total.push(roll(type)); } canvas.innerHTML = "Roll: " + total.join(" + ") + " || Total: " + sum(total);
};
var diceToRoll = [];
var currentNumber = { quantity: "", sides: ""
};
var reset = function reset() { currentNumber = { quantity: "", sides: "" };
};
var displayText = "";
var appendToRoll = function appendToRoll(e) { var value = e.target.value; var type = e.target.dataset.type; if (value === "clear") { displayText = ""; diceToRoll = []; reset(); } else if (type === "amount") { displayText += currentNumber.quantity === "" && diceToRoll.length ? " + " + value : value; currentNumber.quantity += value; } else { currentNumber.sides += value; displayText += " d" + value; diceToRoll.push(currentNumber); reset(); } canvas.innerHTML = displayText;
};
var buttons = findAll(".js-die");
each(buttons, function (el) { return el.addEventListener("click", appendToRoll);
});
var form = find(".js-dice-roll");
form.addEventListener("submit", rollDice);
Developer | Dave |
Username | DaveOrDead |
Uploaded | September 17, 2022 |
Rating | 3 |
Size | 4,109 Kb |
Views | 26,312 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Email validation | 3,528 Kb |
Scrollable tables | 1,926 Kb |
Cors | 1,831 Kb |
Callbacks | 1,471 Kb |
Toggle component | 29,331 Kb |
React Calculator | 30,708 Kb |
React dropdown | 8,538 Kb |
Validation fun | 3,893 Kb |
Webpack config | 1,978 Kb |
Blank slates | 2,666 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Email Marketing Mock | Kristenzirkler | 8,224 Kb |
Perforated foil | 0x04 | 2,617 Kb |
Midterm dry run | Jds317 | 1,649 Kb |
CSS3 Form | Tusharbandal | 1,836 Kb |
CSS Donut Charts | Seanstopnik | 2,908 Kb |
CSS Parent Selector | Tomhodgins | 2,143 Kb |
Parallax scrolling scene | Iharosi | 2,485 Kb |
Use the Twitchtv JSON API | Roksanaop | 3,561 Kb |
CSS3 Butterfly | Timohausmann | 3,430 Kb |
Infractions - Attitude | Kylie_Joseph | 7,672 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!