用JS怎样做一个点击开始随机抽奖的功能
Admin 2022-06-11 群英技术资讯 895 次浏览
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); }
实现的最终效果图如下:
当点击开始时:
当点击暂停时:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
js如何去除数组中的empty undefined空项 目录 去除数组中的empty undefined空项 去掉数组中无效的值,比如null,undefined,empty 方法一 方法二 去除数组中的empty undefined空项 arr.filter(d=>d) 注意,0也会被去掉 去掉数组中无效的值,比如null,undefined,empty 方法一 直接使用filter就能搞定了 var arr=[1,2,null,undefined,9]; arr=arr.filter(Boolean); 结果arr=[1,2,9] 方法二 ...
这篇文章主要介绍了解决js中的setInterval清空定时器不管用问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要介绍了vue多页面配置,单页应用这个概念,是随着前几年 AngularJS、React、Ember 等这些框架的出现而出现的。在前面的前言内容里,我们在页面渲染中讲了页面的局部刷新,而单页应用则是使用了页面的局部刷新的能力,下面来看看详细内容,需要的朋友可以参考一下
JavaScript中求数组平均数的思路和方法是什么?对于求平均数,大家都很熟悉,那么对与不了解数组个数的求平均数,该怎样用代码来实现呢?下文给大家介绍一个方法,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
这篇文章主要介绍了JS构造函数和实例化的关系及原型引入,下文围绕JS构造函数和实例化的关系及原型引入的西安海关资料展开全文内容,需要的朋友可以参考一下,希望对大家有所帮助
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008