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 Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
MooTools 页面滚动浮动层智能定位实现代码
Aug 23 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 Javascript
详解原生js实现offset方法
Jun 15 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
Apr 12 Javascript
webpack 开发和生产并行设置的方法
Nov 08 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
js尾调用优化的实现
May 23 Javascript
小程序wx.getUserProfile接口的具体使用
Jun 02 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获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python中的全局变量用法分析
2015/06/09 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
django实现前后台交互实例
2017/08/07 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
销售人员个人求职信
2013/09/26 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
药学专业个人的自我评价
2013/12/31 职场文书
技术比武方案
2014/05/19 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
终止合同协议书范本
2016/03/22 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android