zoukankan      html  css  js  c++  java
  • JS之周期函数setInterval

    JS内置类:Data,用于获取时间

    原生Data

    代码示例:

    <body>
    	<script>
    		var nowTime = new Date();
    		document.write(nowTime);
    	</script>
    </body>
    

    在这里插入图片描述

    转换成本地语言环境
    <body>
    	<script>
    		var nowTime = new Date();
    		/*转换成本地语言环境的日期格式*/
    		nowTime = nowTime.toLocaleString();
    		document.write(nowTime);
    	</script>
    </body>
    

    在这里插入图片描述

    自定义日期格式
    <body>
    	<script>
    		var nowTime = new Date();
    		/*自定义日期格式*/
    		//以全格式返回年信息
    		var year = nowTime.getFullYear();
    		//返回月份(0-11)
    		var month = nowTime.getMonth();
    		/*
    		返回的是一周中的第几天(0-6)
    		var dayOfWeek = nowTime.getDay();
    		*/
    		//获取日信息
    		var day = nowTime.getDate();
    		document.write(year + "年" + (month+1) + "月" + day);
    		document.write("<br />");
    		//获取毫秒数(从1970年1月1日00:00:00 000到当前系统时间的总毫秒数)
    		document.write(new Date().getTime());
    	</script>
    </body>
    

    在这里插入图片描述

    点击按钮显示网页时钟
    <body>
    	<script>
    		function displayTime(){
    			var time = new Date();
    			var strTime = time.toLocaleString();
    			document.getElementById("timeDiv").innerHTML = strTime;
    		}
    	</script>
    	<input type="button" value="显示系统时间" onclick="displayTime()" />
    	<div id="timeDiv"></div>
    </body>
    

    在这里插入图片描述
    点击按钮:
    在这里插入图片描述
    但是时间不会一直刷新,只能手动点击按钮,时间才会刷新。
    所以要使用到周期函数setInterval。

    HTML DOM setInterval() 方法

    概述

    1、setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
    2、setInterval()方法会不停地调用函数,直到clearInterval()被调用或窗口被关闭。由setInterval()返回的 ID 值可用作clearInterval()方法的参数。

    • clearInterval()方法
      1、可取消由 setInterval() 设置的 timeout。
      2、参数必须是由 setInterval() 返回的 ID 值。
      3、语法:
      clearInterval(id_of_setinterval)
      id_of_setinterval 由 setInterval() 返回的 ID 值。
    语法

    setInterval(code,millisec[,"lang"])
    code:必需。要调用的函数或要执行的代码串。
    millisec:必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。

    代码示例
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>显示网页时钟</title>
        </head>
    	<body>
    		<script>
    			var flag = true;
    			function displayTime(){
    				var time = new Date();
    				var strTime = time.toLocaleString();
    				document.getElementById("timeDiv").innerHTML = strTime;
    			}
    			function start(){
    				/*
    				s作为ID值,使用全局变量
    				但是多次点击显示系统时间按钮的话,
    				会导致ID值不断变化,每点一次ID值加1。
    				这样clearInterval获取到的ID值就只是当前的ID值。
    				之前的对应ID值发生的事件就无法停止。
    				多次点击没有把之前的任务覆盖,而是增加了。
    				*/
    				//设置权限flag,使start、stop都只能执行一次
    				if(flag){
    					s = window.setInterval("displayTime()",1000);
    					flag = false;
    				}
    			}
    			function stop(){
    				if(!flag){
    					window.clearInterval(s);
    					flag = true;
    				}
    			}
    		</script>
    		<input type="button" value="显示系统时间" onclick="start()" />
    		<input type="button" value="停止显示系统时间" onclick="stop()" />
    		<div id="timeDiv"></div>
    	</body>
    </html>
    

    在这里插入图片描述
    点击显示系统时间(时间会一直变化):
    在这里插入图片描述
    点击停止显示系统时间,时间会停止变化。

  • 相关阅读:
    洛谷P2805 植物大战僵尸
    洛谷P4307 球队收益
    bzoj4842 Delight for a Cat
    洛谷P2053 修车
    bzoj2561 最小生成树
    bzoj3114 LCM Pair Sum
    洛谷P4486 Kakuro
    bzoj3698 XWW的难题
    关于oracle数据库
    toString方法的用法
  • 原文地址:https://www.cnblogs.com/yu011/p/13653933.html
Copyright © 2011-2022 走看看