(\ _ /)
( ・-・)
/っ
就,最近摸鱼太多了,得控制下。。
所以放置个小玩意。。
JavaScript 源码
// 创建一个计时器
let startTime = Date.now();
let timerElement = document.createElement('div');
timerElement.style.width = '139px';
timerElement.style.position = 'fixed';
timerElement.style.top = '11px';
timerElement.style.right = '10px';
timerElement.style.backgroundColor = 'white';
timerElement.style.padding = '10px 0';
timerElement.style.textIndent = '1.1em';
timerElement.style.borderRadius = '5px';
timerElement.style.boxShadow = '0 1px 5px rgba(0, 0, 0, 0.2)';
timerElement.style.zIndex = '9999';
timerElement.style.fontSize = '14px';
timerElement.style.opacity = '1';
timerElement.style.transition = 'opacity 2s ease';
timerElement.style.cursor = 'pointer';
document.body.appendChild(timerElement);
// 函数用于格式化时间
function formatTime(milliseconds) {
let totalSeconds = Math.floor(milliseconds / 1000);
let hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0');
let minutes = String(Math.floor((totalSeconds % 3600) / 60)).padStart(2, '0');
let seconds = String(totalSeconds % 60).padStart(2, '0');
return `${hours}:${minutes}:${seconds}`;
}
// 更新计时器
let isRunning = true;
function updateTimer() {
if (isRunning) {
let elapsedTime = Date.now() - startTime;
timerElement.textContent = `计时器: ${formatTime(elapsedTime)}`;
requestAnimationFrame(updateTimer);
}
}
// 启动计时器
updateTimer();
// 为计时器添加点击事件
function handleTimerClick() {
let inputDuration = prompt("输入之前的时长(格式 HH:MM):", "00:00");
if (inputDuration) {
let parts = inputDuration.split(':');
if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
let inputHours = parseInt(parts[0]);
let inputMinutes = parseInt(parts[1]);
if (inputHours >= 0 && inputHours < 24 && inputMinutes >= 0 && inputMinutes < 60) {
if (inputHours > 0 || inputMinutes > 0) {
let previousDurationInMilliseconds = ((inputHours * 3600) + (inputMinutes * 60)) * 1000;
let totalDuration = Date.now() - startTime + previousDurationInMilliseconds;
// 更新计时器显示
timerElement.textContent = `计时器: ${formatTime(totalDuration)}`;
timerElement.style.backgroundColor = 'red';
timerElement.style.color = 'white';
timerElement.style.fontWeight = 'bold';
// 停止计时器
isRunning = false;
// 解绑事件监听器
timerElement.removeEventListener('click', handleTimerClick);
} else {
alert('输入的时间为00:00,不进行任何更改。');
}
} else {
alert('输入的时间不正确,请使用24小时制。');
}
} else {
alert('输入的时间格式不正确,请使用HH:MM格式。');
}
}
};
// 为计时器添加点击事件
timerElement.addEventListener('click', handleTimerClick);
用法: 摁一下 F12,粘贴到 控制台,回车。。然 后 关 掉 控 制 台
当鼠标点击按钮时,会提示输入时间 (我另外有记录一天的时间花在哪里比较多。。)

输入时间后会与当前计时器进行累加,然后计数停止。按钮变成红色。 —— 那是我热爱上班的红温赤子之心的色彩。


