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 相关文章推荐
用ADODB.Stream转换
Jan 22 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
Mar 10 Javascript
基于AngularJS实现表单验证功能
Jul 28 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
Jul 05 Javascript
JavaScript递归函数定义与用法实例分析
Jan 24 Javascript
对layui初始化列表的CheckBox属性详解
Sep 13 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
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
php验证码实现代码(3种)
2015/09/07 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
JS查看对象功能代码
2008/04/25 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
再论Javascript的类继承
2011/03/05 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
python批量赋值操作实例
2018/10/22 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
2014年采购工作总结
2014/11/20 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫