当前位置:首页 > jquery

jquery倒计时

2026-03-02 17:05:56jquery

jQuery倒计时的实现方法

使用jQuery实现倒计时功能可以通过多种方式完成,以下是几种常见的实现方案:

基础倒计时功能

$(document).ready(function() {
  let timeLeft = 60; // 设置倒计时秒数

  function countdown() {
    timeLeft--;
    $('#countdown').text(timeLeft);

    if(timeLeft <= 0) {
      clearInterval(timer);
      $('#countdown').text("时间到!");
    }
  }

  let timer = setInterval(countdown, 1000);
});

带格式化的倒计时显示

jquery倒计时

function formatTime(seconds) {
  let minutes = Math.floor(seconds / 60);
  let secs = seconds % 60;
  return `${minutes}:${secs < 10 ? '0' : ''}${secs}`;
}

$(function() {
  let totalSeconds = 300; // 5分钟

  let interval = setInterval(function() {
    totalSeconds--;
    $('#timer').text(formatTime(totalSeconds));

    if(totalSeconds <= 0) {
      clearInterval(interval);
      alert("倒计时结束");
    }
  }, 1000);
});

可暂停的倒计时

let countdownTimer;
let remainingTime = 120;

function updateDisplay() {
  $('#display').text(`${Math.floor(remainingTime/60)}分${remainingTime%60}秒`);
}

function startTimer() {
  countdownTimer = setInterval(function() {
    remainingTime--;
    updateDisplay();

    if(remainingTime <= 0) {
      clearInterval(countdownTimer);
    }
  }, 1000);
}

$('#start').click(startTimer);
$('#pause').click(function() {
  clearInterval(countdownTimer);
});

日期倒计时(距离特定日期)

jquery倒计时

function getTimeRemaining(endtime) {
  let t = Date.parse(endtime) - Date.parse(new Date());
  return {
    'total': t,
    'days': Math.floor(t / (1000 * 60 * 60 * 24)),
    'hours': Math.floor((t / (1000 * 60 * 60)) % 24),
    'minutes': Math.floor((t / 1000 / 60) % 60),
    'seconds': Math.floor((t / 1000) % 60)
  };
}

function initializeClock(id, endtime) {
  let clock = $(id);

  function updateClock() {
    let t = getTimeRemaining(endtime);

    clock.find('.days').text(t.days);
    clock.find('.hours').text(t.hours);
    clock.find('.minutes').text(t.minutes);
    clock.find('.seconds').text(t.seconds);

    if(t.total <= 0) {
      clearInterval(timeinterval);
    }
  }

  updateClock();
  let timeinterval = setInterval(updateClock, 1000);
}

let deadline = new Date(Date.parse(new Date()) + 15 * 24 * 60 * 60 * 1000);
initializeClock('#clockdiv', deadline);

注意事项

  • 确保DOM加载完成后再执行倒计时代码,使用$(document).ready()或简写$(function(){})
  • 清除定时器使用clearInterval()防止内存泄漏
  • 考虑跨页面保持倒计时状态可使用localStorage
  • 移动端需注意页面隐藏时定时器可能暂停的问题

扩展功能

添加动画效果增强用户体验:

$('#countdown').fadeOut(500).fadeIn(500);

添加完成回调:

if(timeLeft <= 0) {
  clearInterval(timer);
  if(typeof onComplete === 'function') {
    onComplete();
  }
}

标签: 倒计时jquery
分享给朋友:

相关文章

jquery下载

jquery下载

jQuery下载方法 官方下载渠道 访问jQuery官网(https://jquery.com/),点击页面中的“Download”按钮。提供两个版本选择: Production版本:压缩后的精…

jquery 对话框

jquery 对话框

jQuery 对话框的实现方法 jQuery 对话框通常通过 jQuery UI 库中的 dialog() 方法实现。以下是几种常见的实现方式: 基本对话框实现 引入必要的 jQuery 和 jQ…

jquery判断

jquery判断

jQuery 判断元素存在与属性方法 使用 jQuery 判断元素是否存在可通过检查选择器返回的 jQuery 对象长度: if ($('#elementId').length > 0) {…

jquery加载

jquery加载

jQuery 加载方法 使用 CDN 加载 jQuery 推荐通过公共 CDN(如 Google、Microsoft 或 jQuery 官方)加载,速度快且可能已被浏览器缓存。 <…

jquery使用

jquery使用

jQuery 基础使用 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是一些常见的 jQuery 使用方法。 引入 j…

jquery 高度

jquery 高度

jQuery 获取和设置元素高度的方法 使用 jQuery 可以方便地获取或设置元素的高度。以下是几种常用的方法: 获取元素高度 使用 height() 方法可以获取匹配元素中第一个元素的计算高度(…