基于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 相关文章推荐
修改jquery.lazyload.js实现页面延迟载入
Dec 22 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
yepnope.js使用详解及示例分享
Jun 23 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
学习vue.js计算属性
Dec 03 Javascript
详谈jQuery中的一些正则匹配表达式
Mar 08 Javascript
React中ES5与ES6写法的区别总结
Apr 21 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 Javascript
Vue自定义指令实现checkbox全选功能的方法
Feb 28 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
JavaScript实现随机点名器
Mar 25 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上传、管理照片示例
2006/10/09 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
下载糗事百科的内容_python版
2008/12/07 Python
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
大学三年的自我评价
2013/12/25 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
银行求职信模板
2015/03/20 职场文书
校运会新闻稿
2015/07/17 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby