基于JavaScript实现随机点名器


Posted in Javascript onFebruary 25, 2021

本文实例为大家分享了JavaScript实现随机点名器的具体代码,供大家参考,具体内容如下

基于JavaScript实现随机点名器

HTML代码:

<body>
 <h1>点名啦</h1>
 <div id="did">
  <input id="rollcall-id" type="button" value="随机点名器"><br>
  <input id="action-id" type="submit" onclick="doClick()" value="开始">
 </div>
</body>

CSS代码:

<style>
 * {
  margin: 0px;
  padding: 0px;
 }

 body {
  background-color: rgb(255, 249, 249);
 }

 h1 {
  text-align: center;
  padding-top: 100px;
  color: rgba(250, 54, 129, 0.562);
 }

 #did {
  position: relative;
  width: 200px;
  margin: 60px auto;
 }

 #did input:first-child {
  width: 200px;
  height: 60px;
  background-color: rgba(250, 54, 129, 0.562);
  /* 不要边框或设边框为透明 */
  border: none;
  border-radius: 20px;
  font-size: 25px;
  color: #fff;
  box-shadow: 0px 0px 3px 3px rgba(250, 54, 129, 0.158);
  /* 点击时边框消失 */
  outline: 0;
 }

 #did input:nth-last-child(1) {
  width: 100px;
  height: 40px;
  margin: 40px 50px;
  background-color: rgba(250, 54, 129, 0.562);
  border: 1px solid transparent;
  background-color: rgba(255, 68, 177, 0.432);
  border-radius: 15px;
  box-shadow: 0px 0px 2px 2px rgba(250, 54, 129, 0.158);
  font-size: 17px;
  color: #333;
  outline: 0;
  transition: color 0.2s ease-out;
  transition: box-shadow 0.2s ease-out;
 }

 #did input:nth-last-child(1):hover {
  color: #fff;
  cursor: pointer;
  box-shadow: 0px 0px 4px 4px rgba(250, 54, 129, 0.158);
 }
</style>

JavaScript代码:

<script>
 var rollcall = document.getElementById("rollcall-id");
 var action = document.getElementById("action-id");
 var h1 = document.getElementsByTagName("h1");

 //不能用name,用name只会取得一个字符
 var allName = ["张柳菲", "高颖影", "赵温言", "李颖", "邓辰希", "莫若邻", "秦橙",
  "吴筱宇", "赵希", "马素滢", "吕沁雅", "罗鸿哲", "夏素芸", "谢焱之",
  "曹梦朦", "李允书", "周枫桥", "孙浩", "江雁菁", "杨振凯", "林舒言",
  "钱妙妙", "郭景", "杜贝贝", "童闵然", "钟小凌", "韩云韵", "白然之"];

 //随机产生一个名字
 function stringRandom() {
  return parseInt(Math.random() * allName.length);
 }

 var time = null;
 var luckName;
 //开始
 function doStart() {
  if (time == null) {
   time = setInterval(function () {
    //获取随机点名的值
    luckName = allName[stringRandom()];
    rollcall.setAttribute("value", luckName);
   }, 100);
  }
 }

 //停止
 function doStop() {
  if (time != null) {
   clearInterval(time);
   time = null;
  }
 }

 //点击事件
 function doClick() {
  if (action.value == "开始") {
   //改变样式
   action.style.backgroundColor = "#cecece";
   action.style.boxShadow = "0px 0px 2px 2px rgba(100, 100, 100, 0.4)";
   action.value = "停止";
   h1[0].innerHTML = "点名啦";

   //开始随机点名
   doStart();
  } else if (action.value == "停止") {
   action.style.backgroundColor = "rgba(255, 68, 177, 0.432)";
   action.style.boxShadow = "0px 0px 2px 2px rgba(250, 54, 129, 0.158)";
   action.value = "开始";
   h1[0].innerHTML = "恭喜" + luckName + "同学获得一次发言机会";

   //停止
   doStop();
  }
 }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
js post提交调用方法
Feb 12 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
基于BootStarp的Dailog
Apr 28 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
JS实现登录页密码的显示和隐藏功能
Dec 06 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
Oct 12 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
说说Vue.js中的functional函数化组件的使用
Feb 12 Javascript
JavaScript使用ul中li标签实现删除效果
Apr 15 Javascript
js实现随机点名程序
Sep 17 Javascript
JavaScript仿京东轮播图效果
Feb 25 #Javascript
Vue基本指令实例图文讲解
Feb 25 #Vue.js
使用webpack和rollup打包组件库的方法
Feb 25 #Javascript
vue常用高阶函数及综合实例
Feb 25 #Vue.js
原生JS实现音乐播放器的示例代码
Feb 25 #Javascript
详解vite2.0配置学习(typescript版本)
Feb 25 #Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 #Vue.js
You might like
让PHP支持断点续传的源码
2010/05/16 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
Pyqt5实现英文学习词典
2019/06/24 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
白色公司:The White Company
2017/10/11 全球购物
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2014收银员工作总结范文
2014/12/16 职场文书