js抽奖 js实现抽奖的两种方法
浪子一秋 人气:0抽奖活动的原理还是很简单的,通过代码一目了然,如果看不懂就私聊我,可以私下交流!
方法一:使用table写一个随机抽奖
这是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>抽奖</title> </head> <body> <div class="content"> <div class="top"> 抽奖活动 </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>中国电网</th> <th>中石化</th> </tr> <tr> <th>美团</th> <th>乐视</th> <th>小米</th> <th>网易</th> <th>酷我</th> </tr> <tr> <th>爱奇艺</th> <th>盛大</th> <th>短文学</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() { // 启动定时器 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标签写
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>抽奖</title> </head> <body> <div class="content"> <div class="top"> 抽奖活动 </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"); // 动态添加span for (var i = 0; i < 25; i++) { // 创建一个新的标签 var el = document.createElement("span"); // 给标签设置内容 el.innerText = i; // 添加子元素 div.appendChild(el); } var timer; var button = document.querySelector("#button"); function toStart() { // 启动定时器 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>
两个页面的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; }
加载全部内容