css+js实现赌场老虎机摇号机代码
代码语言:html
所属分类:布局界面
代码描述:css+js实现赌场老虎机摇号机代码,点击spin开始运作,点击stop产生结果。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
@import url("https://fonts.googleapis.com/css2?family=Odor+Mean+Chey&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--length: min(0.9vw, 0.55vh);
--radius: min(1.8vw, 1.1vh);
}
body {
height: 100vh;
width: 100vw;
background: radial-gradient(circle at center, #ffffe6, #2e386b);
display: grid;
place-content: center;
overflow: hidden;
}
.container {
width: calc(80 * var(--length));
aspect-ratio: 2/3;
}
.slot-machine {
height: 100%;
width: 100%;
background: #473d5c;
display: grid;
border-radius: var(--radius) var(--radius) 0 0;
grid-template-rows: 1fr 2fr 1.5fr;
grid-template-areas: "top" "middle" "bottom";
}
.slot-machine-top {
grid-area: top;
position: relative;
height: 97.5%;
background: #1a004d;
border-radius: var(--radius);
}
.slot-machine-top .bulb-container {
position: absolute;
display: flex;
align-items: center;
justify-content: space-around;
}
.slot-machine-top .top-bulb {
left: 5%;
width: 90%;
top: 0.5%;
}
.slot-machine-top .bottom-bulb {
left: 5%;
width: 90%;
bottom: 0.5%;
}
.slot-machine-top .left-bulb {
flex-direction: column;
width: 5%;
height: 100%;
left: 0.5%;
}
.slot-machine-top .right-bulb {
flex-direction: column;
width: 5%;
height: 100%;
right: 0.5%;
}
.slot-machine-top .bulb {
font-size: calc(2.5 * var(--length));
color: #fbbb32;
text-shadow: calc(-0.2 * var(--length)) calc(-0.2 * var(--length)) calc(1 * var(--length)) #fff, calc(0.2 * var(--length)) calc(0.2 * var(--length)) calc(1 * var(--length)) #fff, 0 0 calc(0.5 * var(--length)) #fbbb32, 0 0 calc(1 * var(--length)) #fbbb32, 0 0 calc(1.5 * var(--length)) #fbbb32, 0 0 calc(2 * var(--length)) #fbbb32, 0 0 calc(2.5 * var(--length)) #fbbb32;
}
.slot-machine-top .machine-title {
position: absolute;
width: calc(70 * var(--length));
height: calc(17.5 * var(--length));
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-family: "Odor Mean Chey", serif;
display: grid;
place-content: center;
color: #d3342e;
font-size: calc(12.5 * var(--length));
font-weight: bolder;
letter-spacing: calc(1.5 * var(--length));
border-radius: inherit;
background: #222;
}
.slot-machine-top .jackpot {
text-shadow: calc(-0.2 * var(--length)) calc(-0.2 * var(--length)) calc(1 * var(--length)) #fff, calc(0.2 * var(--length)) calc(0.2 * var(--length)) calc(1 * var(--length)) #fff, 0 0 calc(1 * var(--length)) #d3342e, 0 0 calc(2 * var(--length)) #d3342e, 0 0 calc(3 * var(--length)) #d3342e, 0 0 calc(4 * var(--length)) #d3342e, 0 0 calc(5 * var(--length)) #d3342e;
}
.slot-machine-middle {
grid-area: middle;
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: calc(5 * var(--length));
border-radius: var(--radius);
background: #1a004d;
}
.slot-machine-middle .spinner-frame {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80%;
height: 80%;
background: #fbbb32;
border-radius: var(--radius);
}
.slot-machine-middle .spinner-frame::after {
content: "";
position: absolute;
height: 77.5%;
width: 82.5%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: inherit;
background: #1a004d;
}
.slot-machine-middle .spinner-shape {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 65%;
height: 60%;
background: conic-gradient(#737373 58.5deg, #8c8c8c 58.5deg 121.5deg, #737373 121.5deg 238.5deg, #8c8c8c 238.5deg 301.5deg, #737373 301.5deg);
border-radius: var(--radius);
}
.slot-machine-middle .spinner-shape::before {
content: "";
position: absolute;
height: 90%;
width: 90%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #1a004d;
}
.slot-machine-middle .spinners-container {
position: absolute;
display: flex;
align-items: center;
justify-content: space-evenly;
height: 50%;
width: 60%;
overflow: hidden;
}
.slot-machine-middle .spinners-container .overlay {
position: absolute;
height: 100%;
width: 30%;
border: 2px solid black;
background: linear-gradient(rgba(0, 0, 0, 0.75), rgba(255, 255, 255, 0.15) 33%, rgba(255, 255, 255, 0.15) 66%, rgba(0, 0, 0, 0.75));
}
.slot-machine-middle .spinners-container .spinner-container {
width: 30%;
height: 100%;
display: grid;
place-content: center;
background: whitesmoke;
}
.slot-machine-middle .spinners-container .spinner-container .spinner {
position: relative;
width: 100%;
height: inherit;
transform-style: preserve-3d;
transform-origin: 50% 50% calc(-30 * var(--length));
pointer-events: none;
}
.slot-machine-middle .spinners-container .spinner-container .spinner .symbol {
position: absolute;
backface-visibility: hidden;
height: 100%;
width: 100%;
font-size: calc(10 * var(--length));
display: grid;
place-content: center;
transform-origin: 50% 50% calc(-30 * var(--length));
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(1) {
transform: rotateX(30deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(2) {
transform: rotateX(60deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(3) {
transform: rotateX(90deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(4) {
transform: rotateX(120deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(5) {
transform: rotateX(150deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(6) {
transform: rotateX(180deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(7) {
transform: rotateX(210deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(8) {
transform: rotateX(240deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(9) {
transform: rotateX(270deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(10) {
transform: rotateX(300deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(11) {
transform: rotateX(330deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner > div:nth-child(12) {
transform: rotateX(360deg);
}
.slot-machine-middle .spinners-container .spinner-container .spinner-1 {
transform: rotateX(var(--rot-spin));
transition: transform var(--rot-speed) linear;
}
.slot-machine-middle .spinners-container .spinner-container .spinner-2 {
transform: rotateX(var(--rot-spin));
transition: transform var(--rot-speed) linear;
}
.slot-machine-middle .spinners-container .spinner-container .spinner-3 {
transform: rotateX(var(--rot-spin));
transition: transform var(--rot-speed) linear;
}
.slot-machine-middle .spinners-container .spinner-container::after {
content: "";
position: absolute;
}
.slot-machine-middle .glass-effect {
position: absolute;
top: 50%;
left.........完整代码请登录后点击上方下载按钮下载查看
网友评论0