实现一个计时器,可以通过使用jQuery.timer插件来实现,下面是基于该插件的实现流程:
步骤1:引入jQuery库和jQuery.timer插件
首先,在你的网页中引入jQuery库和jQuery.timer插件,如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.timer/latest/jquery.timer.min.js"></script>
步骤2:编写HTML代码
接着,在你的HTML代码中,添加一个div,用于显示计时器:
<div id="timer">00:00:00</div>
步骤3:编写JavaScript代码
接下来,在你的JavaScript代码中,添加以下代码:
$(function() {
// 设置计时器初始时间
var time = 0;
// 获取显示计时器的div
var timerDisplay = $("#timer");
// 创建计时器
$.timer(function() {
// 将时间格式化为hh:mm:ss
var formattedTime = formatTime(time++);
// 将格式化后的时间显示到计时器div中
timerDisplay.text(formattedTime);
}, 1000, true);
});
// 将秒数格式化为hh:mm:ss形式
function formatTime(time) {
var hours = Math.floor(time / 3600);
var minutes = Math.floor((time % 3600) / 60);
var seconds = time % 60;
return pad(hours) + ":" + pad(minutes) + ":" + pad(seconds);
}
// 在数字前加零,确保格式为00:00:00
function pad(number) {
if (number < 10) {
return "0" + number;
} else {
return number.toString();
}
}
以上代码,将会创建一个计时器,每秒钟更新一次计时器div中的显示内容,显示的格式为hh:mm:ss,初始时间为0。
示例1:计时器暂停和重置功能实现
下面是实现计时器暂停和重置功能的代码示例:
$(function() {
var time = 0;
var timerDisplay = $("#timer");
var timer;
// 开始计时器
function startTimer() {
timer = $.timer(function() {
timerDisplay.text(formatTime(time++));
}, 1000, true);
}
// 停止计时器
function stopTimer() {
timer.stop();
}
// 重置计时器
function resetTimer() {
time = 0;
timerDisplay.text(formatTime(time));
}
// 绑定事件
$("#start").click(startTimer);
$("#stop").click(stopTimer);
$("#reset").click(resetTimer);
});
以上代码,通过增加 startTimer 、stopTimer、resetTimer 方法,实现了暂停和重置功能。绑定了三个按钮,点击事件对应三个方法,从而实现了计时器的暂停和重置。
示例2:计时器挂起后再继续计时功能实现
下面是实现计时器挂起后再继续计时功能的代码示例:
$(function() {
var time = 0;
var timerDisplay = $("#timer");
var timer;
var isPaused = false;
var pausedTime;
// 开始计时器
function startTimer() {
if (isPaused) {
timer = $.timer(function() {
timerDisplay.text(formatTime(pausedTime++));
}, 1000, true);
isPaused = false;
} else {
timer = $.timer(function() {
timerDisplay.text(formatTime(time++));
}, 1000, true);
}
}
// 暂停计时器
function pauseTimer() {
pausedTime = time;
timer.stop();
isPaused = true;
}
// 重置计时器
function resetTimer() {
time = 0;
pausedTime = 0;
timerDisplay.text(formatTime(time));
isPaused = false;
}
// 绑定事件
$("#start").click(startTimer);
$("#pause").click(pauseTimer);
$("#reset").click(resetTimer);
});
以上代码,增加了 isPaused 和 pausedTime 变量,用于标识计时器是否暂停,并且记录暂停时间。针对暂停的情况,在 startTimer 方法中增加判断,如果计时器是暂停状态,则继续使用 pausedTime 作为计时器的时间。通过控制变量的值,实现了计时器的挂起后再继续计时功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于JQuery.timer插件实现一个计时器 - Python技术站