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 相关文章推荐
require.js深入了解 require.js特性介绍
Sep 04 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
Nov 19 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
Jun 25 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
vue中的.$mount('#app')手动挂载操作
Sep 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
人族 Terran 基本策略
2020/03/14 星际争霸
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
python实现中文分词FMM算法实例
2015/07/10 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python调用百度语音识别api
2018/08/30 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
python代码如何注释
2020/06/01 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
Django自带的用户验证系统实现
2020/12/18 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
三年级学生评语
2014/04/23 职场文书
导游欢送词
2015/01/31 职场文书
离婚答辩状范文
2015/05/22 职场文书
团队拓展训练感想
2015/08/07 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP