mirror of
https://github.com/BreizhHardware/Roulette.git
synced 2026-01-18 16:37:39 +01:00
Init
This commit is contained in:
8
Roulette.code-workspace
Normal file
8
Roulette.code-workspace
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
75
index.html
Normal file
75
index.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>BreizhHardware Roulette à shot</title>
|
||||
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css'><link rel="stylesheet" href="./style.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- partial:index.partial.html -->
|
||||
<div class="main">
|
||||
<button type="button" class="btn" id="spin"><span class="btn-label">Tournez la roue</span></button>
|
||||
<button type="button" class="btn btn-reset" id="reset"><span class="btn-label">Nouvelle partie</span></button>
|
||||
<div class="plate" id="plate">
|
||||
<ul class="inner">
|
||||
<li class="number"><label><input type="radio" name="pit" value="32" /><span class="pit">32</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="15" /><span class="pit">15</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="19" /><span class="pit">19</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="4" /><span class="pit">4</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="21" /><span class="pit">21</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="2" /><span class="pit">2</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="25" /><span class="pit">25</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="17" /><span class="pit">17</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="34" /><span class="pit">34</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="6" /><span class="pit">6</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="27" /><span class="pit">27</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="13" /><span class="pit">13</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="36" /><span class="pit">36</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="11" /><span class="pit">11</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="30" /><span class="pit">30</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="8" /><span class="pit">8</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="23" /><span class="pit">23</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="10" /><span class="pit">10</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="5" /><span class="pit">5</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="24" /><span class="pit">24</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="16" /><span class="pit">16</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="33" /><span class="pit">33</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="1" /><span class="pit">1</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="20" /><span class="pit">20</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="14" /><span class="pit">14</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="31" /><span class="pit">31</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="9" /><span class="pit">9</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="22" /><span class="pit">22</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="18" /><span class="pit">18</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="29" /><span class="pit">29</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="7" /><span class="pit">7</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="28" /><span class="pit">28</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="12" /><span class="pit">12</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="35" /><span class="pit">35</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="3" /><span class="pit">3</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="26" /><span class="pit">26</span></label></li>
|
||||
<li class="number"><label><input type="radio" name="pit" value="0" /><span class="pit">0</span></label></li>
|
||||
</ul>
|
||||
<div class="data">
|
||||
<div class="data-inner">
|
||||
<div class="mask"></div>
|
||||
<div class="result">
|
||||
<div class="result-number">00</div>
|
||||
<div class="result-color">red</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="previous-results">
|
||||
<ol class="previous-list">
|
||||
<li class='visuallyhidden placeholder'>No results yet.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- partial -->
|
||||
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
|
||||
<script src='https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js'></script><script src="./script.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
81
script.js
Normal file
81
script.js
Normal file
@@ -0,0 +1,81 @@
|
||||
var $inner = $('.inner'),
|
||||
$spin = $('#spin'),
|
||||
$reset = $('#reset'),
|
||||
$data = $('.data'),
|
||||
$mask = $('.mask'),
|
||||
maskDefault = 'Faites vos jeux',
|
||||
timer = 9000;
|
||||
|
||||
var red = [32,19,21,25,34,27,36,30,23,5,16,1,14,9,18,7,12,3];
|
||||
|
||||
$reset.hide();
|
||||
|
||||
$mask.text(maskDefault);
|
||||
|
||||
$spin.on('click',function(){
|
||||
|
||||
// get a random number between 0 and 36 and apply it to the nth-child selector
|
||||
var randomNumber = Math.floor(Math.random() * 36),
|
||||
color = null;
|
||||
$inner.attr('data-spinto', randomNumber).find('li:nth-child('+ randomNumber +') input').prop('checked','checked');
|
||||
// prevent repeated clicks on the spin button by hiding it
|
||||
$(this).hide();
|
||||
// disable the reset button until the ball has stopped spinning
|
||||
$reset.addClass('disabled').prop('disabled','disabled').show();
|
||||
|
||||
$('.placeholder').remove();
|
||||
|
||||
|
||||
setTimeout(function() {
|
||||
$mask.text('Rien ne va plus');
|
||||
}, timer/2);
|
||||
|
||||
setTimeout(function() {
|
||||
$mask.text(maskDefault);
|
||||
}, timer+500);
|
||||
|
||||
|
||||
|
||||
// remove the disabled attribute when the ball has stopped
|
||||
setTimeout(function() {
|
||||
$reset.removeClass('disabled').prop('disabled','');
|
||||
|
||||
if($.inArray(randomNumber, red) !== -1){ color = 'red'} else { color = 'black'};
|
||||
if(randomNumber == 0){color = 'green'};
|
||||
|
||||
$('.result-number').text(randomNumber);
|
||||
$('.result-color').text(color);
|
||||
$('.result').css({'background-color': ''+color+''});
|
||||
$data.addClass('reveal');
|
||||
$inner.addClass('rest');
|
||||
|
||||
$thisResult = '<li class="previous-result color-'+ color +'"><span class="previous-number">'+ randomNumber +'</span><span class="previous-color">'+ color +'</span></li>';
|
||||
|
||||
$('.previous-list').prepend($thisResult);
|
||||
|
||||
|
||||
}, timer);
|
||||
|
||||
});
|
||||
|
||||
|
||||
$reset.on('click',function(){
|
||||
// remove the spinto data attr so the ball 'resets'
|
||||
$inner.attr('data-spinto','').removeClass('rest');
|
||||
$(this).hide();
|
||||
$spin.show();
|
||||
$data.removeClass('reveal');
|
||||
});
|
||||
|
||||
// so you can swipe it too
|
||||
var myElement = document.getElementById('plate');
|
||||
var mc = new Hammer(myElement);
|
||||
mc.on("swipe", function(ev) {
|
||||
if(!$reset.hasClass('disabled')){
|
||||
if($spin.is(':visible')){
|
||||
$spin.click();
|
||||
} else {
|
||||
$reset.click();
|
||||
}
|
||||
}
|
||||
});
|
||||
574
style.css
Normal file
574
style.css
Normal file
@@ -0,0 +1,574 @@
|
||||
.number:nth-child(1) {
|
||||
transform: rotateZ(9.72972973deg);
|
||||
}
|
||||
.number:nth-child(2) {
|
||||
transform: rotateZ(19.45945946deg);
|
||||
}
|
||||
.number:nth-child(3) {
|
||||
transform: rotateZ(29.18918919deg);
|
||||
}
|
||||
.number:nth-child(4) {
|
||||
transform: rotateZ(38.91891892deg);
|
||||
}
|
||||
.number:nth-child(5) {
|
||||
transform: rotateZ(48.64864865deg);
|
||||
}
|
||||
.number:nth-child(6) {
|
||||
transform: rotateZ(58.37837838deg);
|
||||
}
|
||||
.number:nth-child(7) {
|
||||
transform: rotateZ(68.10810811deg);
|
||||
}
|
||||
.number:nth-child(8) {
|
||||
transform: rotateZ(77.83783784deg);
|
||||
}
|
||||
.number:nth-child(9) {
|
||||
transform: rotateZ(87.56756757deg);
|
||||
}
|
||||
.number:nth-child(10) {
|
||||
transform: rotateZ(97.2972973deg);
|
||||
}
|
||||
.number:nth-child(11) {
|
||||
transform: rotateZ(107.02702703deg);
|
||||
}
|
||||
.number:nth-child(12) {
|
||||
transform: rotateZ(116.75675676deg);
|
||||
}
|
||||
.number:nth-child(13) {
|
||||
transform: rotateZ(126.48648649deg);
|
||||
}
|
||||
.number:nth-child(14) {
|
||||
transform: rotateZ(136.21621622deg);
|
||||
}
|
||||
.number:nth-child(15) {
|
||||
transform: rotateZ(145.94594595deg);
|
||||
}
|
||||
.number:nth-child(16) {
|
||||
transform: rotateZ(155.67567568deg);
|
||||
}
|
||||
.number:nth-child(17) {
|
||||
transform: rotateZ(165.40540541deg);
|
||||
}
|
||||
.number:nth-child(18) {
|
||||
transform: rotateZ(175.13513514deg);
|
||||
}
|
||||
.number:nth-child(19) {
|
||||
transform: rotateZ(184.86486486deg);
|
||||
}
|
||||
.number:nth-child(20) {
|
||||
transform: rotateZ(194.59459459deg);
|
||||
}
|
||||
.number:nth-child(21) {
|
||||
transform: rotateZ(204.32432432deg);
|
||||
}
|
||||
.number:nth-child(22) {
|
||||
transform: rotateZ(214.05405405deg);
|
||||
}
|
||||
.number:nth-child(23) {
|
||||
transform: rotateZ(223.78378378deg);
|
||||
}
|
||||
.number:nth-child(24) {
|
||||
transform: rotateZ(233.51351351deg);
|
||||
}
|
||||
.number:nth-child(25) {
|
||||
transform: rotateZ(243.24324324deg);
|
||||
}
|
||||
.number:nth-child(26) {
|
||||
transform: rotateZ(252.97297297deg);
|
||||
}
|
||||
.number:nth-child(27) {
|
||||
transform: rotateZ(262.7027027deg);
|
||||
}
|
||||
.number:nth-child(28) {
|
||||
transform: rotateZ(272.43243243deg);
|
||||
}
|
||||
.number:nth-child(29) {
|
||||
transform: rotateZ(282.16216216deg);
|
||||
}
|
||||
.number:nth-child(30) {
|
||||
transform: rotateZ(291.89189189deg);
|
||||
}
|
||||
.number:nth-child(31) {
|
||||
transform: rotateZ(301.62162162deg);
|
||||
}
|
||||
.number:nth-child(32) {
|
||||
transform: rotateZ(311.35135135deg);
|
||||
}
|
||||
.number:nth-child(33) {
|
||||
transform: rotateZ(321.08108108deg);
|
||||
}
|
||||
.number:nth-child(34) {
|
||||
transform: rotateZ(330.81081081deg);
|
||||
}
|
||||
.number:nth-child(35) {
|
||||
transform: rotateZ(340.54054054deg);
|
||||
}
|
||||
.number:nth-child(36) {
|
||||
transform: rotateZ(350.27027027deg);
|
||||
}
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
background: radial-gradient(hsl(0, 100%, 27%) 4%, hsl(0, 100%, 18%) 9%, hsla(0, 100%, 20%, 0) 9%) 0 0, radial-gradient(hsl(0, 100%, 27%) 4%, hsl(0, 100%, 18%) 8%, hsla(0, 100%, 20%, 0) 10%) 50px 50px, radial-gradient(hsla(0, 100%, 30%, 0.8) 20%, hsla(0, 100%, 20%, 0)) 50px 0, radial-gradient(hsla(0, 100%, 30%, 0.8) 20%, hsla(0, 100%, 20%, 0)) 0 50px, radial-gradient(hsl(0, 100%, 20%) 35%, hsla(0, 100%, 20%, 0) 60%) 50px 0, radial-gradient(hsl(0, 100%, 20%) 35%, hsla(0, 100%, 20%, 0) 60%) 100px 50px, radial-gradient(hsla(0, 100%, 15%, 0.7), hsla(0, 100%, 20%, 0)) 0 0, radial-gradient(hsla(0, 100%, 15%, 0.7), hsla(0, 100%, 20%, 0)) 50px 50px, linear-gradient(45deg, hsla(0, 100%, 20%, 0) 49%, hsl(0, 0%, 0%) 50%, hsla(0, 100%, 20%, 0) 70%) 0 0, linear-gradient(-45deg, hsla(0, 100%, 20%, 0) 49%, hsl(0, 0%, 0%) 50%, hsla(0, 100%, 20%, 0) 70%) 0 0;
|
||||
background-color: #300;
|
||||
background-size: 100px 100px;
|
||||
}
|
||||
.main {
|
||||
width: 374px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.plate {
|
||||
background-color: gray;
|
||||
width: 350px;
|
||||
height: 350px;
|
||||
margin: 12px;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
-webkit-animation: rotate 24s infinite linear;
|
||||
animation: rotate 24s infinite linear;
|
||||
}
|
||||
.plate:after,
|
||||
.plate:before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.plate:after {
|
||||
top: -6px;
|
||||
right: -6px;
|
||||
bottom: -6px;
|
||||
left: -6px;
|
||||
border: 6px solid gold;
|
||||
box-shadow: inset 0px 0px 0px 2px #b39700, 0px 0px 0px 2px #ffeb80;
|
||||
}
|
||||
.plate:before {
|
||||
background: rgba(0, 0, 0, 0.65);
|
||||
border: 1px solid silver;
|
||||
box-shadow: inset 0px 0px 0px 2px #808080;
|
||||
top: 12%;
|
||||
left: 12%;
|
||||
right: 12%;
|
||||
bottom: 12%;
|
||||
z-index: 1;
|
||||
}
|
||||
.number {
|
||||
width: 32px;
|
||||
height: 175px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: calc(50% - (32px/2));
|
||||
transform-origin: 50% 100%;
|
||||
background-color: transparent;
|
||||
border-left: 16px solid transparent;
|
||||
border-right: 16px solid transparent;
|
||||
border-top: 175px solid black;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.number:nth-child(odd) {
|
||||
border-top-color: red;
|
||||
}
|
||||
.number:nth-child(37) {
|
||||
border-top-color: green;
|
||||
}
|
||||
.pit {
|
||||
color: #fff;
|
||||
padding-top: 12px;
|
||||
width: 32px;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
transform: scale(1, 1.8);
|
||||
position: absolute;
|
||||
top: -175px;
|
||||
left: -16px;
|
||||
}
|
||||
.inner {
|
||||
display: block;
|
||||
height: 350px;
|
||||
width: 350px;
|
||||
position: relative;
|
||||
}
|
||||
.inner:after,
|
||||
.inner:before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.inner:after {
|
||||
z-index: 3;
|
||||
top: 24%;
|
||||
right: 24%;
|
||||
bottom: 24%;
|
||||
left: 24%;
|
||||
background-color: #4d4d4d;
|
||||
border: 3px solid #808080;
|
||||
}
|
||||
.inner:before {
|
||||
top: 24%;
|
||||
bottom: 21%;
|
||||
left: 24%;
|
||||
right: 22%;
|
||||
content: '';
|
||||
color: #fff;
|
||||
font-size: 60px;
|
||||
z-index: 5;
|
||||
border-radius: 0;
|
||||
}
|
||||
.inner[data-spinto='1']:before {
|
||||
transform: rotateZ(-2602deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='2']:before {
|
||||
transform: rotateZ(-2774deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='3']:before {
|
||||
transform: rotateZ(-2850deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='4']:before {
|
||||
transform: rotateZ(-2793deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='5']:before {
|
||||
transform: rotateZ(-2642deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='6']:before {
|
||||
transform: rotateZ(-2734deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='7']:before {
|
||||
transform: rotateZ(-2526deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='8']:before {
|
||||
transform: rotateZ(-2673deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='9']:before {
|
||||
transform: rotateZ(-2564deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='10']:before {
|
||||
transform: rotateZ(-2652deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='11']:before {
|
||||
transform: rotateZ(-2693deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='12']:before {
|
||||
transform: rotateZ(-2868deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='13']:before {
|
||||
transform: rotateZ(-2714deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='14']:before {
|
||||
transform: rotateZ(-2582deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='15']:before {
|
||||
transform: rotateZ(-2813deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='16']:before {
|
||||
transform: rotateZ(-2622deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='17']:before {
|
||||
transform: rotateZ(-2755deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='18']:before {
|
||||
transform: rotateZ(-2545deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='19']:before {
|
||||
transform: rotateZ(-2803deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='20']:before {
|
||||
transform: rotateZ(-2592deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='21']:before {
|
||||
transform: rotateZ(-2784deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='22']:before {
|
||||
transform: rotateZ(-2554deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='23']:before {
|
||||
transform: rotateZ(-2662deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='24']:before {
|
||||
transform: rotateZ(-2632deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='25']:before {
|
||||
transform: rotateZ(-2764deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='26']:before {
|
||||
transform: rotateZ(-2840deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='27']:before {
|
||||
transform: rotateZ(-2724deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='28']:before {
|
||||
transform: rotateZ(-2877deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='29']:before {
|
||||
transform: rotateZ(-2535deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='30']:before {
|
||||
transform: rotateZ(-2684deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='31']:before {
|
||||
transform: rotateZ(-2573deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='32']:before {
|
||||
transform: rotateZ(-2822deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='33']:before {
|
||||
transform: rotateZ(-2612deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='34']:before {
|
||||
transform: rotateZ(-2745deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='35']:before {
|
||||
transform: rotateZ(-2499deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='36']:before {
|
||||
transform: rotateZ(-2703deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner[data-spinto='0']:before {
|
||||
transform: rotateZ(-2831deg);
|
||||
transition: transform 9s ease-out;
|
||||
content: '\2022';
|
||||
}
|
||||
.inner.rest:before {
|
||||
transition: top 0.5s ease-in, right 0.5s ease-in, bottom 0.5s ease-in, left 0.5s ease-in;
|
||||
top: 25%;
|
||||
right: 25%;
|
||||
bottom: 24%;
|
||||
left: 25%;
|
||||
}
|
||||
.btn {
|
||||
background: green;
|
||||
border: 1px solid #000000;
|
||||
border-top-color: #00b300;
|
||||
border-left-color: #00b300;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: inline-block;
|
||||
font-size: 15px;
|
||||
width: 175px;
|
||||
padding: 12px;
|
||||
margin: 12px;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.btn .btn-label {
|
||||
padding: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.btn.btn-reset {
|
||||
background: darkgreen;
|
||||
border: 1px solid #000000;
|
||||
border-top-color: #009700;
|
||||
border-left-color: #009700;
|
||||
}
|
||||
.btn.disabled {
|
||||
opacity: 0.2;
|
||||
transition: opacity 0.24s linear;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
@-webkit-keyframes rotate {
|
||||
0% {
|
||||
transform: rotateZ(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotateZ(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes rotate {
|
||||
0% {
|
||||
transform: rotateZ(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotateZ(360deg);
|
||||
}
|
||||
}
|
||||
.data {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
right: 30%;
|
||||
bottom: 30%;
|
||||
left: 30%;
|
||||
border-radius: 50%;
|
||||
animation: rotate 24s reverse linear infinite;
|
||||
perspective: 2000px;
|
||||
z-index: 100;
|
||||
}
|
||||
.data .data-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
transition: transform 0.72s;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.data.reveal .data-inner {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
.data .mask,
|
||||
.data .result {
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
}
|
||||
.data .mask {
|
||||
color: #fff;
|
||||
font-size: 24px;
|
||||
margin: auto;
|
||||
line-height: 1.4;
|
||||
padding-top: 36px;
|
||||
}
|
||||
.data .result {
|
||||
background-color: green;
|
||||
color: white;
|
||||
transform: rotateY(180deg);
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
}
|
||||
.data .result-number {
|
||||
font-size: 72px;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.data .result-color {
|
||||
text-transform: uppercase;
|
||||
font-size: 21px;
|
||||
line-height: 1;
|
||||
}
|
||||
.previous-results {
|
||||
max-width: 350px;
|
||||
margin: 24px 12px;
|
||||
}
|
||||
.previous-list {
|
||||
perspective: 2000;
|
||||
}
|
||||
.previous-result {
|
||||
display: flex;
|
||||
margin: 1px;
|
||||
padding: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
.previous-result:first-child {
|
||||
-webkit-animation: flipin 0.48s ease-out;
|
||||
animation: flipin 0.48s ease-out;
|
||||
}
|
||||
.previous-result .previous-number {
|
||||
flex: 1;
|
||||
}
|
||||
.color-green {
|
||||
background-color: green;
|
||||
}
|
||||
.color-black {
|
||||
background-color: black;
|
||||
}
|
||||
.color-red {
|
||||
background-color: red;
|
||||
}
|
||||
.visuallyhidden {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
@-webkit-keyframes flipin {
|
||||
0% {
|
||||
transform: rotateX(90deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotateX(0deg);
|
||||
}
|
||||
}
|
||||
@keyframes flipin {
|
||||
0% {
|
||||
transform: rotateX(90deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotateX(0deg);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user