JavaScript定时器设置、使用与倒计时案例详解

JavaScript定时器设置、使用与倒计时案例详解

定时器

JavaScript定时器是一种在指定时间间隔内反复执行指定的代码段的机制。利用定时器可以实现一些定时操作,例如轮询、闪烁等等。JavaScript中提供了两种定时器,分别是:

  • setInterval: 可以反复执行指定的代码段,直到清除定时器。
  • setTimeout: 在指定时间间隔内执行一次代码段,然后结束定时器。

setInterval

使用setInterval()可以定时执行一段指定的代码,并且可设置时间间隔。语法如下:

setInterval(function, milliseconds);
  • function: 要执行的代码段
  • milliseconds: 执行的时间间隔,单位为毫秒。可以是整数,也可以是小数。

例如,下面的代码每隔1s在控制台输出Hello World!

setInterval(function(){
  console.log('Hello World!');
}, 1000);

在使用setInterval()时,需要注意以下几点:

  • setInterval()返回的是一个数值,代表定时器的ID。可以用这个ID来取消定时器。
  • 在每个周期执行的代码段需要足够快,不然会导致代码堵塞,无法正常运行。

setTimeout

使用setTimeout()可以设定一个指定时间后执行的定时任务。语法如下:

setTimeout(function, milliseconds);
  • function: 要执行的代码段
  • milliseconds: 设定的时间间隔,单位为毫秒。可以是整数,也可以是小数。

例如,下面的代码在2s后在控制台输出Hello World!

setTimeout(function(){
  console.log('Hello World!');
}, 2000);

在使用setTimeout()时,需要注意以下几点:

  • setTimeout()返回的是一个数值,代表定时器的ID。可以用这个ID来取消定时器。
  • 在设定的时间间隔内只执行一次,不会反复执行。

倒计时案例

下面我们通过一个倒计时案例来展示JavaScript定时器的使用。

我们需要实现一个倒计时功能,用户输入要倒计时的总时间,然后每隔一秒钟在页面上显示剩余时间,直到倒计时结束。

首先我们在HTML文件中添加一个输入框和一个按钮:

<label for="input-time">倒计时总时间:</label>
<input type="number" id="input-time" min="1">
<button id="start-countdown">开始倒计时</button>

然后我们在JavaScript文件中添加代码如下:

var timerId = null; //定义定时器ID
var totalSeconds = 0; //定义总秒数变量
var secondsLeft = 0; //定义剩余秒数变量

//点击按钮开始倒计时
document.querySelector('#start-countdown').addEventListener('click', function(){
  //获取用户输入的总时间,转化为秒
  totalSeconds = document.querySelector('#input-time').value * 60;

  //显示倒计时
  document.querySelector('#show-time').textContent = formatTime(totalSeconds);

  //设置每一秒的倒计时操作
  timerId = setInterval(function(){
    if(secondsLeft === 0){
      //如果倒计时结束,清除定时器
      clearInterval(timerId);
      alert('Time is up!');
    }else{
      //每一秒计算剩余时间,更新页面显示
      secondsLeft--;
      document.querySelector('#show-time').textContent = formatTime(secondsLeft);
    }
  }, 1000);
});

//每次倒计时更新显示时间的格式
function formatTime(seconds){
  var minutes = Math.floor(seconds / 60);
  var secondsToShow = seconds % 60;
  return minutes + ' 分钟 ' + secondsToShow + ' 秒';
}

在上面的代码中,我们首先获取了用户输入的总时间,然后在页面上显示倒计时,并使用setInterval()方法定义了每秒钟的倒计时操作。在每秒钟的倒计时操作中,我们每次更新剩余时间的变量并更新倒计时显示。当剩余时间为0时,我们清除了定时器,并提示用户时间已经结束。

案例二:定时刷新页面

下面我们来看一个简单的定时刷新页面的例子。假设我们需要每隔5秒钟自动刷新一次页面,我们可以使用以下代码:

setInterval(function(){
  location.reload();
}, 5000);

在上面的代码中,我们每隔5秒钟使用setInterval()方法执行一段重新加载页面的代码。这样页面将会被自动刷新。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript定时器设置、使用与倒计时案例详解 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 浅谈golang的http cookie用法

    浅谈golang的http cookie用法 什么是Cookie? HTTP协议是无状态的,也就是说,当客户端加载一个页面或者访问一个接口时,服务器并不知道这个请求与之前的请求之间有关系,而Cookie就是为了解决这个问题的,它可以把一些关键性的信息,如用户的登录状态等,保存在客户端,以便在后续的请求中向服务器传递这些信息。 Cookie有两种类型,分别是s…

    JavaScript 2023年6月11日
    00
  • JavaScript异步编程常见面试题汇总

    JavaScript异步编程常见面试题汇总 什么是异步编程? 异步编程是 JavaScript 中的一种编程模式,是指在执行某个操作时,不会阻塞后续代码的执行,而是通过回调函数或者 Promise 等方式在异步操作完成后再进行后续的处理。 常见的异步编程方式 回调函数 回调函数是异步编程中最基础也是最常见的方式。在一个异步操作完成后,通过调用传递给该异步操作…

    JavaScript 2023年6月11日
    00
  • 细说javascript函数从函数的构成开始

    细说JavaScript函数从函数的构成开始 JavaScript 函数是程序中的基础组件之一。在本文中,我们将深入了解 JavaScript 函数,包括函数的构成、参数传递和作为值的函数等。 函数的构成 JavaScript 函数由函数名称、参数列表、函数体和返回值组成。下面是一个最简单的 JavaScript 函数示例: function sayHell…

    JavaScript 2023年5月27日
    00
  • jsp+ajax发送GET请求的方法

    当需要在JSP页面中使用ajax发送GET请求时,可以参照以下步骤进行操作: 步骤一:引入jQuery库文件 使用ajax发送请求时需要引入jQuery库文件。可以在head标签中使用以下代码引入: <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js&quot…

    JavaScript 2023年6月11日
    00
  • 表单正则验证及文件上传验证功能

    表单正则验证及文件上传验证功能是在 Web 开发中经常使用的验证技术,可以保证用户填写的表单数据符合规范,并且可以确保文件上传的格式和大小等要求。下面将详细讲解这些功能的实现。 表单正则验证 什么是正则表达式? 正则表达式是一种语法,用于描述字符序列的模式。在 Web 开发中,我们通常使用正则表达式来判断用户输入的数据是否符合要求,例如邮箱格式,手机号格式等…

    JavaScript 2023年6月10日
    00
  • js弹出框、对话框、提示框、弹窗实现方法总结(推荐)

    JS弹出框、对话框、提示框、弹窗实现方法总结 本篇文章将讲解JS弹出框、对话框、提示框、弹窗的实现方法,并提供两个示例以便更好地理解。 弹出框的实现 使用alert()函数 alert()函数是JS提供的一种简单的弹窗实现方式,当需要在浏览器中弹出一些简单的信息提示时可以方便地使用该函数。 alert(‘Hello world!’); 使用confirm()…

    JavaScript 2023年6月11日
    00
  • 详解JS WebSocket断开原因和心跳机制

    详解JS WebSocket断开原因和心跳机制 WebSocket 是一个重要的协议,可在浏览器和服务器之间双向通信,且具有较低的延迟和较高的带宽利用率。但是,在实际应用中,WebSocket 经常会由于各种原因而断开连接,为此,我们需要对 WebSocket 的断开原因和心跳机制做详细了解。 WebSocket断开原因 1. 服务器主动关闭 服务器端主动关…

    JavaScript 2023年5月28日
    00
  • 处理JavaScript值为undefined的7个小技巧

    处理 JavaScript 值为 undefined 的 7 个小技巧 如果你在 JavaScript 开发中遇到了 undefined 值,可以考虑以下七个小技巧来解决。 1. 使用条件语句检测 undefined 值 使用 if 语句检测 JavaScript 的一个数据是否为 undefined 可以避免发生未定义(undefined)错误。 let …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部