javascript网页随机点名实现过程解析


Posted in Javascript onOctober 15, 2019

主要知识点涉及if选择结构判断语句、数组的定义、定时器、清除定时器、日期对象的使用。

1.HTML结构

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>随机点名</title>
  <style type="text/css">
    .box{
      width: 200px;
      height: 200px;
      border: 1px solid red;
    }
    #uname{
      width: 100px;
      height: 50px;
      background: pink;

      /* 设置div块 水平居中*/
      margin: 0 auto;
      margin-top: 30px;
      

      text-align: center; /* 设置文本水平居中 */
      line-height: 50px; /* 设置文本垂直居中 */
      font-weight: bold; /* 字体加粗 */
      font-size: 20px; /* 设置字体大小 */
    }
    button{
      display: block; /* 将元素转换成行内块元素 */
      margin: 10px auto;
    }
  </style>
</head>
<body>

<div class="box">
  <div id="uname">姓名</div>
  <button>开始</button>
</div>

</body>
</html>

页面如下图所示:

javascript网页随机点名实现过程解析

2.js代码

1)在开始按钮和结束按钮之间相互转换

点击 开始 按钮,将按钮中的内容修改为 结束

<body>
<script type="text/javascript">
  // 获取按钮对象
  var btn = document.getElementsByTagName("button")[0];
  // 给按钮添加单击事件
  btn.onclick = function(){
    btn.innerHTML="结束"
  };
</script>
</body>

javascript网页随机点名实现过程解析

点击结束按钮 ,按钮变成开始按钮

切换按钮:判断按钮状态,如果按钮为开始按钮,将按钮变成结束按钮;

如果按钮为结束按钮,将按钮变成开始按钮。

<body>

<script type="text/javascript">
  // 获取按钮对象
  var btn = document.getElementsByTagName("button")[0];
  // 给按钮添加单击事件
  btn.onclick = function(){
    if(btn.innerText=="开始"){
      btn.innerHTML="结束"
    }else{
      btn.innerHTML="开始"
    }
    
  };
</script>
</body>

定义一个数组用来存储人名,点击开始按钮,随机选择人名;

点击停止按钮,页面不再发生变化。

<body>

<div class="box">
  <div id="uname">姓名</div>
  <button>开始</button>
</div>
<script type="text/javascript">
  // 定义数组 存储人名
  var arr = ['李白','杜甫','韩愈','柳宗元','欧阳修','苏洵','苏轼','苏辙','王安石','曾巩','陶渊明','辛弃疾','李贺','陆游'];
  // 获取id="uname"的元素对象
  var Uname = document.getElementById("uname");
  var flag = null; // 给定时器添加一个标识符

  // 获取按钮对象
  var btn = document.getElementsByTagName("button")[0];
  // 给按钮添加单击事件
  btn.onclick = function(){
    if(btn.innerText=="开始"){
      btn.innerHTML="结束";
      // 添加多次定时器
      flag = setInterval(function(){
      var num = rand(0,arr.length-1); //随机获取数组的索引
      // 通过索引获取人名
      var uname = arr[num];
      // 将取出来的人名 写入到页面当中
      Uname.innerHTML=uname;
      },100)
      
    }else{
      btn.innerHTML="开始";
      // 清除多次定时器
      clearInterval(flag);
    }
    
  };


  // 封装一个随机函数
  function rand(n,m){
    return Math.floor(Math.random()*(m-n+1));
  }
</script>
</body>

页面最终显示如下图所示:

javascript网页随机点名实现过程解析

3.innerText( )和innerHTML( )之间的区别

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Title</title>
</head>
<body>

<p>余生<em>山海</em>远阔,愿你随心所向。</p>
<script type="text/javascript">
  // 获取元素对象
  var cont = document.getElementsByTagName("p")[0];
  // 获取元素内容
  console.log(cont.innerText);
  console.log(cont.innerHTML);
</script>
</body>
</html>

javascript网页随机点名实现过程解析

-------------------------------------------------------------------------------------------

innerText、innerHTML 向指定元素添加内容

innerHTML :设置元素内容,包括标签和文本 一般用于修改元素对象,获取文本内容和标签

innerText:设置元素文本,只能设置文本 一般用于获取元素对象,只能获取到文本内容,

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

Javascript 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 Javascript
jQuery 操作下拉列表框实现代码
Feb 22 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
js获取select默认选中的Option并不是当前选中值
May 07 Javascript
使用typeof判断function是否存在于上下文
Aug 14 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
从零开始用electron手撸一个截屏工具的示例代码
Oct 10 Javascript
微信小程序实现分享朋友圈的图片功能示例
Jan 18 Javascript
javascript随机变色实例代码
Oct 15 #Javascript
vue中axios的二次封装实例讲解
Oct 14 #Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 #Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
Oct 14 #Javascript
vue实现百度语音合成的实例讲解
Oct 14 #Javascript
vue中进行微博分享的实例讲解
Oct 14 #Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
Oct 14 #Javascript
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php实现源代码加密的方法
2015/07/11 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
Python pathlib模块使用方法及实例解析
2020/10/05 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
预备党员党课思想汇报
2014/01/13 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
女生抽烟检讨书
2014/10/05 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
博士生专家推荐信
2015/03/25 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby