JavaScript扭蛋机代码
时间: 2023-07-02 17:04:57 浏览: 198
以下是一个简单的 JavaScript 扭蛋机代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>扭蛋机</title>
<script>
function twist() {
var result = Math.floor(Math.random() * 100) + 1;
if(result <= 10) {
alert("恭喜你获得了超级稀有扭蛋!");
} else if(result <= 30) {
alert("恭喜你获得了稀有扭蛋!");
} else {
alert("很遗憾,你只获得了普通扭蛋。");
}
}
</script>
</head>
<body>
<h1>扭蛋机</h1>
<p>点击下面的按钮扭蛋:</p>
<button onclick="twist()">扭蛋</button>
</body>
</html>
```
这个代码定义了一个名为 `twist` 的函数,用于模拟扭蛋的过程。当用户点击页面上的“扭蛋”按钮时,该函数会生成一个随机数,并根据随机数的大小提示用户获得了哪种类型的扭蛋。在这个例子中,有10%的概率获得超级稀有扭蛋,20%的概率获得稀有扭蛋,其余70%的概率只能获得普通扭蛋。
相关问题
JavaScript与css扭蛋机动画代码
以下是一个简单的 JavaScript 和 CSS 扭蛋机动画代码示例:
HTML 代码:
```
<div class="container">
<div class="machine">
<div class="capsule"></div>
</div>
<button class="btn">抽奖</button>
</div>
```
CSS 代码:
```
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.machine {
position: relative;
width: 200px;
height: 300px;
background-color: #ccc;
border-radius: 10px;
overflow: hidden;
}
.capsule {
position: absolute;
top: -100%;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 100px;
background-color: #f00;
border-radius: 50%;
animation: drop 2s ease-in-out forwards;
}
@keyframes drop {
0% {
top: -100%;
}
50% {
top: 50%;
}
100% {
top: 100%;
}
}
.btn {
padding: 10px 20px;
background-color: #f00;
color: #fff;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
```
JavaScript 代码:
```
const btn = document.querySelector('.btn');
const machine = document.querySelector('.machine');
function startAnimation() {
machine.innerHTML = '<div class="capsule"></div>';
}
btn.addEventListener('click', startAnimation);
```
点击“抽奖”按钮会触发 `startAnimation()` 函数,该函数会将扭蛋机容器中的内容清空,然后插入一个新的扭蛋动画元素。CSS 中的 `drop` 动画会使该元素从顶部掉落到底部。
小程序实现一个扭蛋机抽奖详细代码
好的,以下是一个简单的小程序实现扭蛋机抽奖的代码,具体实现细节可以根据自己的需要进行调整和修改:
1. HTML代码:
```
<!-- 扭蛋机界面 -->
<div class="gashapon">
<div class="gashapon-body">
<div class="gashapon-window">
<div class="gashapon-inner"></div>
</div>
<div class="gashapon-handle"></div>
</div>
<button class="gashapon-button">抽奖</button>
</div>
<!-- 中奖记录 -->
<div class="record">
<h3>中奖记录</h3>
<ul class="record-list"></ul>
</div>
```
2. CSS代码:
```
/* 扭蛋机样式 */
.gashapon {
width: 300px;
height: 400px;
position: relative;
margin: 50px auto;
}
.gashapon-body {
width: 100%;
height: 100%;
background: #eee;
border-radius: 20px;
position: relative;
overflow: hidden;
}
.gashapon-window {
width: 100%;
height: 70%;
background: #fff;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
position: relative;
overflow: hidden;
box-shadow: 0 0 10px #444;
}
.gashapon-inner {
width: 100%;
height: 100%;
background: url("gashapon.png") no-repeat center;
background-size: contain;
position: absolute;
top: 0;
left: 0;
animation: gashapon-rotate 5s linear infinite;
transform-origin: center center;
}
.gashapon-handle {
width: 50px;
height: 50px;
background: #f00;
border-radius: 50%;
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
.gashapon-button {
display: block;
width: 100px;
height: 40px;
background: #f00;
color: #fff;
border: none;
border-radius: 20px;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
margin-bottom: 20px;
cursor: pointer;
}
/* 中奖记录样式 */
.record {
width: 300px;
margin: 0 auto;
}
.record h3 {
text-align: center;
}
.record-list {
list-style: none;
padding: 0;
margin: 0;
}
.record-list li {
margin-bottom: 10px;
}
```
3. JavaScript代码:
```
// 定义奖品列表
var prizeList = [
{
name: "一等奖",
src: "prize1.png"
},
{
name: "二等奖",
src: "prize2.png"
},
{
name: "三等奖",
src: "prize3.png"
},
{
name: "幸运奖",
src: "prize4.png"
}
];
// 获取DOM元素
var gashapon = document.querySelector(".gashapon");
var gashaponInner = document.querySelector(".gashapon-inner");
var gashaponButton = document.querySelector(".gashapon-button");
var recordList = document.querySelector(".record-list");
// 定义变量
var isRunning = false; // 是否正在转动
var prizeIndex = -1; // 中奖奖品索引
// 抽奖函数
function lottery() {
if (isRunning) return; // 如果正在转动,则退出函数
isRunning = true; // 设置正在转动标志
// 随机生成一个奖品索引
prizeIndex = Math.floor(Math.random() * prizeList.length);
// 转动扭蛋机
gashaponInner.style.animationPlayState = "running";
// 2秒后停止转动
setTimeout(function() {
isRunning = false;
gashaponInner.style.animationPlayState = "paused";
showPrize(prizeList[prizeIndex]); // 显示中奖信息
}, 2000);
}
// 显示中奖信息
function showPrize(prize) {
// 创建中奖信息DOM元素
var li = document.createElement("li");
var img = document.createElement("img");
img.src = prize.src;
var span = document.createElement("span");
span.textContent = prize.name;
li.appendChild(img);
li.appendChild(span);
// 将中奖信息添加到记录列表中
recordList.appendChild(li);
}
// 绑定抽奖按钮的单击事件
gashaponButton.addEventListener("click", lottery);
```
以上就是一个简单的小程序实现扭蛋机抽奖的代码,可以根据自己的需要进行修改和完善。
阅读全文