javascript实现随机抽奖,供大家参考,具体内容如下
首先创建一个数组用于存放抽奖的参与者:
var arr=['张三','波波','kk','莉莉','张三丰','刘德华','周杰困','你那儿','zhere','好的'];
给开始和结束按钮div添加点击事件:
//添加点击开始则开始循环播放 document.getElementById("start").addEventListener("click",va); //点击停止则停止播放并显示恭喜中奖 document.getElementById("end").addEventListener("click",function (){ count++; clearTimeout(i); var name=arr[thisone]; arr.splice(thisone,1); var get=document.getElementById("get"); get.innerHTML=get.innerHTML+'<br>'; get.innerText=get.innerText+`${count}. `+name; })
用setTimeout实现循环事件,每隔100毫秒就执行一次循环,随机得到存放参与者的数组的长度之间的随机数,不断修改innerText实现用户滚动效果:
//循环事件 function va(){ let num=arr.length; console.log(num); if(num===0){ clearTimeout(i); //移除开始事件 document.getElementById("start").removeEventListener("click",va); document.getElementById("show").innerText="没有了"; return; } setTimeout("show()",100); } //获得当前名字下标 function getindex() { return parseInt(Math.random()*arr.length); } //循环播放列表 function show(){ thisone=getindex(); document.getElementById("show").innerText=arr[thisone]; i=setTimeout("show()",100); }
实现的最终效果图如下:
当点击开始时:
当点击暂停时:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持站长技术。
本文重点给大家介绍AjaxFileUpload+Struts2实现多文件上传功能,具体实现代码大...
display-namedefaultroot/display-name servlet servlet-namedebugjsp/servlet-n...
无论是Windows还是macOS,都少不了各种小工具的加持。作为操作系统中必不可少的...
MySQL 运维 - 从零开始学习 一、数据库类型 ? 常见的数据库类型 二、数据库管理...
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地...
我们在用ajax请求数据时,可能会遇到一次点击多次触发的可能。 (比如说:ajax ...
信号章节 -- 信号章节总体概要 信号基本概念 信号是异步事件,发送信号的线程可...
本文实例为大家分享了JS实现纸牌发牌动画的具体代码,供大家参考,具体内容如下 ...
在用java进行web业务开发的时候,对于页面上接收到的参数,除了极少数是步可预知...
SQL可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据、建立...