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)容,希望對(duì)大家的學(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-07javascript中數(shù)組與對(duì)象的使用方法區(qū)別
數(shù)組(array)是按次序排列的一組值。JS其實(shí)沒有真正的數(shù)組,只是用對(duì)象模擬數(shù)組。本質(zhì)上,數(shù)組屬于一種特殊的對(duì)象。typeof運(yùn)算符會(huì)返回?cái)?shù)組的類型是object。在javascript中,數(shù)組又可以認(rèn)為是索引數(shù)組,即可以用整數(shù)來進(jìn)行索引。數(shù)組和對(duì)象在這種情況下非常接近。2022-12-12JS 數(shù)字轉(zhuǎn)換為大寫金額的簡單實(shí)例
下面小編就為大家?guī)硪黄狫S 數(shù)字轉(zhuǎn)換為大寫金額的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08js調(diào)用打印機(jī)打印網(wǎng)頁字體總是縮小一號(hào)的解決方法
直接調(diào)用window.print(),但是打印出來后,字體總是縮小一號(hào),后來直接target="_blank",就可以正常打印了,下面是實(shí)現(xiàn)代碼2014-01-01ES6 Generator函數(shù)的應(yīng)用實(shí)例分析
這篇文章主要介紹了ES6 Generator函數(shù)的應(yīng)用,結(jié)合實(shí)例形式分析了ES6 Generator函數(shù)異步操作與異常捕獲相關(guān)使用技巧,需要的朋友可以參考下2019-06-06ng-options和ng-checked在表單中的高級(jí)運(yùn)用(推薦)
AngularJS是當(dāng)前非常的流行的前端框架,它的語法糖非常多,也極大的方便了前端開發(fā)者。這篇文章主要介紹了ng-options和ng-checked在表單中的高級(jí)運(yùn)用,需要的朋友可以參考下2017-01-01JavaScript 模擬類機(jī)制及私有變量的方法及思路
這篇文章介紹了JavaScript模擬類機(jī)制及私有變量的方法及思路,有需要的朋友可以參考一下2013-07-07