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 相关文章推荐
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
移动节点的jquery代码
Jan 13 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
JavaScript阻止回车提交表单的方法
Dec 30 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
Jan 22 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
webpack external模块的具体使用
Mar 10 Javascript
JS实现select选中option触发事件操作示例
Jul 13 Javascript
深入浅析vue中cross-env的使用
Sep 12 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
其他功能
2006/10/09 PHP
php开发工具之vs2005图解
2008/01/12 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php使用百度ping服务代码实例
2014/06/19 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
JQuery live函数
2010/12/24 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
jquery实现显示已选用户
2014/07/21 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python多线程与多进程及其区别详解
2019/08/08 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
学生宿舍管理制度
2014/01/30 职场文书
楼面部长岗位职责范本
2014/02/14 职场文书
硕士论文致谢范文
2015/05/14 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
小学班主任研修日志
2015/11/13 职场文书
教你用python实现12306余票查询
2021/06/30 Python