js實(shí)現(xiàn)抽獎(jiǎng)的兩種方法
本文實(shí)例為大家分享了js實(shí)現(xiàn)抽獎(jiǎng)的具體代碼,供大家參考,具體內(nèi)容如下
抽獎(jiǎng)活動(dòng)的原理還是很簡單的,通過代碼一目了然,如果看不懂就私聊我,可以私下交流!
方法一:使用table寫一個(gè)隨機(jī)抽獎(jiǎng)
這是html+js代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/test2.css" >
<title>抽獎(jiǎng)</title>
</head>
<body>
<div class="content">
<div class="top">
抽獎(jiǎng)活動(dòng)
</div>
<div class="body">
<table>
<tr>
<th>百度</th>
<th>騰訊</th>
<th>阿里</th>
<th>京東</th>
<th>華為</th>
</tr>
<tr>
<th>滴滴</th>
<th>螞蟻金服</th>
<th>樂視</th>
<th>中國電網(wǎng)</th>
<th>中石化</th>
</tr>
<tr>
<th>美團(tuán)</th>
<th>樂視</th>
<th>小米</th>
<th>網(wǎng)易</th>
<th>酷我</th>
</tr>
<tr>
<th>愛奇藝</th>
<th>盛大</th>
<th>短文學(xué)</th>
<th>淺墨詩韻</th>
<th>浪子一秋</th>
</tr>
</table>
</div>
<div class="bottom">
<input type="button" name="" id="button" class="button" value="開始" onclick="toStart(this)">
</div>
</div>
</body>
<script type="text/javascript">
var timer;
var button = document.querySelector("#button");
function toStart() {
// 啟動(dòng)定時(shí)器
if (timer == undefined) {
timer = setInterval(changeStyle, 100);
button.setAttribute("value", "停止");
} else {
clearInterval(timer);
timer = undefined;
button.setAttribute("value", "開始");
}
}
// 改變樣式
var a, b;
function changeStyle() {
var tb = document.querySelector("table");
console.log(a);
if (a != undefined) {
tb.rows[a].cells[b].style.backgroundColor = "white";
}
//
// 獲取要操作的元素
a = parseInt(Math.random() * 4);
b = parseInt(Math.random() * 5);
// console.log(a);
var col = tb.rows[a].cells[b];
col.style.backgroundColor = "red";
}
</script>
</html>
方法二:使用span標(biāo)簽寫
html+js代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/test2.css" >
<title>抽獎(jiǎng)</title>
</head>
<body>
<div class="content">
<div class="top">
抽獎(jiǎng)活動(dòng)
</div>
<div class="body" id="body">
</div>
<div class="bottom">
<input type="button" name="" id="button" class="button" value="開始" onclick="toStart()">
</div>
</div>
</body>
<script type="text/javascript">
// 獲取要操作的元素
var div = document.getElementById("body");
// 動(dòng)態(tài)添加span
for (var i = 0; i < 25; i++) {
// 創(chuàng)建一個(gè)新的標(biāo)簽
var el = document.createElement("span");
// 給標(biāo)簽設(shè)置內(nèi)容
el.innerText = i;
// 添加子元素
div.appendChild(el);
}
var timer;
var button = document.querySelector("#button");
function toStart() {
// 啟動(dòng)定時(shí)器
if (timer == undefined) {
timer = setInterval(changeStyle, 100);
button.setAttribute("value", "停止");
} else {
clearInterval(timer);
timer = undefined;
button.setAttribute("value", "開始");
}
}
// 改變樣式
var selection;
function changeStyle() {
var spans = document.getElementsByTagName("span");
if (selection != undefined) {
console.log(selection);
spans[selection].style.backgroundColor = "white";
}
selection = parseInt(Math.random() * 25);
var spans = document.getElementsByTagName("span");
var selectSpan = spans[selection];
selectSpan.style.backgroundColor = "red";
}
</script>
</html>
兩個(gè)頁面的css代碼
*{
margin: 0;
padding: 0;
}
body{
display: block;
}
.content{
width: 500px;
margin: auto;
}
.top{
text-align: center;
height: 50px;
color: red;
font-size: 30px;
}
table{
width: 100%;
border: 1px solid red;
border-spacing: 0;
}
th{
border: 1px dashed rgb(189, 189, 86);
height: 40px;
}
.bottom{
height: 50px;
margin-top: 20px;
text-align: center;
}
.button{
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
/* test2-1 */
.body{
width: 512px;
height: 260px;
border: 1px solid red;
}
span{
display: inline-block;
width: 100px;
height: 50px;
border: 1px dashed #b1da1f;
line-height: 50px;
text-align: center;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js抽獎(jiǎng)轉(zhuǎn)盤實(shí)現(xiàn)方法分析
- js實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)
- Vue.js實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)總結(jié)及實(shí)現(xiàn)思路
- php+lottery.js實(shí)現(xiàn)九宮格抽獎(jiǎng)功能
- JS實(shí)現(xiàn)簡單的抽獎(jiǎng)轉(zhuǎn)盤效果示例
- 200行HTML+JavaScript實(shí)現(xiàn)年會(huì)抽獎(jiǎng)程序
- jquery.rotate.js實(shí)現(xiàn)可選抽獎(jiǎng)次數(shù)和中獎(jiǎng)內(nèi)容的轉(zhuǎn)盤抽獎(jiǎng)代碼
- 基于JavaScript實(shí)現(xiàn)簡單抽獎(jiǎng)功能代碼實(shí)例
相關(guān)文章
JS獲取鼠標(biāo)坐標(biāo)的實(shí)例方法
這篇文章介紹了JS獲取鼠標(biāo)坐標(biāo)的實(shí)例方法,有需要的朋友可以參考一下2013-07-07
javascript中數(shù)組與對象的使用方法區(qū)別
數(shù)組(array)是按次序排列的一組值。JS其實(shí)沒有真正的數(shù)組,只是用對象模擬數(shù)組。本質(zhì)上,數(shù)組屬于一種特殊的對象。typeof運(yùn)算符會(huì)返回?cái)?shù)組的類型是object。在javascript中,數(shù)組又可以認(rèn)為是索引數(shù)組,即可以用整數(shù)來進(jìn)行索引。數(shù)組和對象在這種情況下非常接近。2022-12-12
JS 數(shù)字轉(zhuǎn)換為大寫金額的簡單實(shí)例
下面小編就為大家?guī)硪黄狫S 數(shù)字轉(zhuǎn)換為大寫金額的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
js調(diào)用打印機(jī)打印網(wǎng)頁字體總是縮小一號(hào)的解決方法
直接調(diào)用window.print(),但是打印出來后,字體總是縮小一號(hào),后來直接target="_blank",就可以正常打印了,下面是實(shí)現(xiàn)代碼2014-01-01
ES6 Generator函數(shù)的應(yīng)用實(shí)例分析
這篇文章主要介紹了ES6 Generator函數(shù)的應(yīng)用,結(jié)合實(shí)例形式分析了ES6 Generator函數(shù)異步操作與異常捕獲相關(guān)使用技巧,需要的朋友可以參考下2019-06-06
ng-options和ng-checked在表單中的高級運(yùn)用(推薦)
AngularJS是當(dāng)前非常的流行的前端框架,它的語法糖非常多,也極大的方便了前端開發(fā)者。這篇文章主要介紹了ng-options和ng-checked在表單中的高級運(yùn)用,需要的朋友可以參考下2017-01-01
JavaScript 模擬類機(jī)制及私有變量的方法及思路
這篇文章介紹了JavaScript模擬類機(jī)制及私有變量的方法及思路,有需要的朋友可以參考一下2013-07-07

