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实现代码[IE暂不支持]
May 24 Javascript
javascript eval(func())使用示例
Dec 05 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
Mar 02 Javascript
解决JS请求服务器gbk文件乱码的问题
Oct 16 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
Jun 17 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
前端主流框架vue学习笔记第二篇
Jul 26 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
用PHP动态创建Flash动画
2006/10/09 PHP
php debug 安装技巧
2011/04/30 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
javascript div 弹出可拖动窗口
2009/02/26 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
详解Python多线程下的list
2020/07/03 Python
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
数据库连接池的工作原理
2012/09/26 面试题
人事主管的岗位职责
2013/11/16 职场文书
工会工作先进事迹
2014/08/18 职场文书
走进科学观后感
2015/06/18 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
2015国庆节感想
2015/08/04 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
python实现双向链表原理
2022/05/25 Python