原生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 相关文章推荐
div移动 输入框不能输入的问题
Nov 19 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
jQuery表单域选择器用法分析
Feb 10 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
Mar 09 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 Javascript
4 种滚动吸顶实现方式的比较
Apr 09 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
js实现简易点击切换显示或隐藏
Nov 29 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
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
JQuery选择器特辑 详细小结
2012/05/14 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue点击页面空白处实现保存功能
2019/11/06 Javascript
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
详解python算法之冒泡排序
2019/03/05 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python+OpenCV实现图像拼接
2020/03/05 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
HTML5进度条特效
2014/12/18 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
自我工作评价范文
2015/03/06 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技
Python闭包的定义和使用方法
2022/04/11 Python