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 相关文章推荐
JavaScript入门教程(2) JS基础知识
Jan 31 Javascript
js 操作符实例代码
Oct 24 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
Oct 20 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
JQuery显示隐藏DIV的方法及代码实例
Apr 16 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 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
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
python中list循环语句用法实例
2014/11/10 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
详解python中的数据类型和控制流
2019/08/08 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
建筑专业毕业生推荐信
2013/11/21 职场文书
《自选商场》教学反思
2014/02/14 职场文书
吨的认识教学反思
2014/04/27 职场文书
环保口号大全
2014/06/12 职场文书
社团活动总结书
2014/06/27 职场文书
工商管理自荐书
2014/07/06 职场文书
新教师教学工作总结
2015/08/14 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL