原生JS实现九宫格抽奖效果


Posted in Javascript onApril 01, 2017

效果图:

原生JS实现九宫格抽奖效果

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title></title>
 <style>
 *{margin:0;padding:0;}
 #container{width:310px;height:310px;margin:30px auto;}
 #ul1{width:310px;height:310px;list-style:none;}
 #ul1 li,#ul1 a{width:100px;height:100px;border:1px solid #565656;float:left;text-align:center;line-height:100px;}
 #ul1 a:hover{cursor:pointer;color:orange;font-size:18px;}
 #ul1 .active{background:red;color:#fff;}
 #pp{line-height:32px;color:#9a9a9a;text-align:center;}
 </style>
</head>
<body>
<div id="container">
 <ul id="ul1">
 <li>一等奖</li>
 <li>二等奖</li>
 <li>三等奖</li>
 <li>四等奖</li>
 <a>开始</a>
 <li>五等奖</li>
 <li>六等奖</li>
 <li>七等奖</li>
 <li>八等奖</li>
 </ul>
 <p id="pp"></p>
</div>
<script>
 var container = document.getElementById('container'),
 li = container.getElementsByTagName('li'),
 aa = container.getElementsByTagName('a')[0],
 pp = document.getElementById('pp'),
 timer = null;
 function start(){
 var i = 0;
 var num = Math.floor(Math.random() * li.length) + 20;
 if(i<num){
 timer = setInterval(function(){
 for(var j=0;j<li.length;j++){
  li[j].className = '';
 }
 li[i%li.length].className = 'active';
 i++;
 if(i === num){
  clearInterval(timer);
  if(num%li.length === 0){
  pp.innerHTML += "恭喜您中了:8 等奖" + '<br/>';
  }else{
  pp.innerHTML += "恭喜您中了:"+ parseInt(num%li.length) + " 等奖"+ '<br/>';
  }
 }
 },130);
 }
 }
 aa.onclick = function(){
 start();
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js getElementsByTagName的简写方式
Jun 27 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
Bootstrap的图片轮播示例代码
Aug 31 Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
jQuery源码分析之init的详细介绍
Feb 13 Javascript
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
javascript计算渐变颜色的实例
Sep 22 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
解读Vue组件注册方式
May 15 Vue.js
关于Node.js的events.EventEmitter用法介绍
Apr 01 #Javascript
ES6 Promise对象概念与用法分析
Apr 01 #Javascript
JavaScript中闭包的详解
Apr 01 #Javascript
基于JavaScript实现验证码功能
Apr 01 #Javascript
AngularJS1.X学习笔记2-数据绑定详解
Apr 01 #Javascript
Angularjs使用指令做表单校验的方法
Mar 31 #Javascript
JS正则获取HTML元素的方法
Mar 31 #Javascript
You might like
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
AngularJS 事件发布机制
2018/08/28 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现的各种排序算法代码
2013/03/04 Python
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Python多进程写入同一文件的方法
2019/01/14 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
教师师德演讲稿
2014/05/06 职场文书
医院标语大全
2014/06/23 职场文书
应届大学生求职信
2014/07/20 职场文书
承诺书模板
2014/08/30 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
python入门之算法学习
2021/04/22 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
Linux中各个目录的作用与内容
2022/06/28 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers