原生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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
Js 本页面传值实现代码
May 17 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
理解javascript正则表达式
Mar 08 Javascript
vue.js 中使用(...)运算符报错的解决方法
Aug 09 Javascript
微信小程序canvas分享海报功能
Oct 31 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 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
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python 登录网站详解及实例
2017/04/11 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
python实现五子棋程序
2020/04/24 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
数据库方面面试题
2012/04/22 面试题
完美的中文自荐信
2014/05/24 职场文书
班主任培训研修日志
2015/11/13 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书