原生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 相关文章推荐
jQuery简易图片放大特效示例代码
Jun 09 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
jquery日历插件datepicker用法分析
Jan 22 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
使用axios实现上传图片进度条功能
Dec 21 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
vue.js循环radio的实例
Nov 07 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
关于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
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
JS实现百度搜索框
2021/02/25 Javascript
python的正则表达式re模块的常用方法
2013/03/09 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
python的继承知识点总结
2018/12/10 Python
python集合常见运算案例解析
2019/10/17 Python
Python numpy数组转置与轴变换
2019/11/15 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
经理职责范文
2013/11/08 职场文书
电气技术员岗位职责
2013/11/19 职场文书
初中英语演讲稿
2014/04/29 职场文书
商场父亲节活动方案
2014/08/27 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python