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与C# Windows应用程序交互方法
Jun 29 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
Oct 13 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
vue router-link传参以及参数的使用实例
Nov 10 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
Jan 21 Javascript
js实现验证码干扰(动态)
Feb 23 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中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[14:21]VICI vs EG (BO3)
2018/06/07 DOTA
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python数据结构之链表的实例讲解
2017/07/25 Python
python操作列表的函数使用代码详解
2017/12/28 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
python仿抖音表白神器
2019/04/08 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python Tensor和Array对比分析
2020/01/08 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python中K-means算法基础知识点
2021/01/25 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
电子商务专业毕业生求职信
2014/06/12 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis