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 RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
js控制当再次点击按钮时的间隔时间
Jun 03 Javascript
浅谈JavaScript function函数种类
Dec 29 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
Jul 08 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
微信小程序 WXML节点信息查询详解
Jul 29 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 Javascript
vue中使用GraphQL的实例代码
Nov 04 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 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开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
详解django.contirb.auth-认证
2018/07/16 Python
在python中实现对list求和及求积
2018/11/14 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
OpenFeign实现远程调用
2022/08/14 Java/Android