帮我用js写一个时间刻度尺
时间: 2023-03-21 16:03:52 浏览: 192
好的,以下是一个简单的JavaScript代码,用于创建一个时间刻度尺:
// 获取当前时间
var now = new Date();
// 获取时间刻度容器元素
var container = document.getElementById("time-scale");
// 循环创建时间刻度
for (var i = 0; i < 24; i++) {
// 创建时间刻度元素
var tick = document.createElement("div");
tick.classList.add("tick");
// 设置时间刻度标签
var label = document.createElement("span");
label.textContent = i + ":00";
tick.appendChild(label);
// 将时间刻度添加到容器中
container.appendChild(tick);
}
// 更新时间刻度的位置
function updateTimeScale() {
// 获取当前时间的小时数和分钟数
var hours = now.getHours();
var minutes = now.getMinutes();
// 计算当前时间相对于整点的分钟数
var totalMinutes = hours * 60 + minutes;
var relativeMinutes = totalMinutes % 60;
// 计算当前时间相对于整点的比例
var scale = relativeMinutes / 60;
// 获取所有时间刻度元素
var ticks = document.querySelectorAll(".tick");
// 循环更新时间刻度的位置
for (var i = 0; i < ticks.length; i++) {
var tick = ticks[i];
// 计算时间刻度的位置
var tickPosition = i * (100 / 24);
var tickOffset = tickPosition - (scale * 100);
// 更新时间刻度的位置
tick.style.transform = "translateX(" + tickOffset + "%)";
}
}
// 每分钟更新一次时间刻度的位置
setInterval(function() {
now = new Date();
updateTimeScale();
}, 1000 * 60);
// 初次更新时间刻度的位置
updateTimeScale();
该代码将创建一个容器元素,用于显示时间刻度,并将每个时间刻度的位置设置为相对于当前时间的小时数。然后,它将使用 setInterval 函数每分钟更新一次时间刻度的位置,以反映当前时间的变化。
相关推荐














