<div class="container"> <span id="timer">2020/05/24 星期日 17:39:44</span> </div> 这段代码如何用js实现动态时间的效果
时间: 2024-04-30 07:18:13 浏览: 51
可以使用 JavaScript 的 `setInterval()` 方法来实现动态时间的效果。具体实现步骤如下:
1. 首先需要获取到显示时间的 `span` 元素,可以使用 `document.getElementById()` 方法来获取到该元素。
2. 然后使用 `setInterval()` 方法来每隔一定时间更新一次 `span` 元素的内容。可以将该方法的返回值保存在一个变量中,以便后续取消定时器。
3. 在更新 `span` 元素的内容时,需要获取当前的时间,并将其格式化为需要显示的格式。
下面是实现动态时间效果的示例代码:
HTML 代码:
```html
<div class="container">
<span id="timer">2020/05/24 星期日 17:39:44</span>
</div>
```
JavaScript 代码:
```javascript
// 获取显示时间的 span 元素
var timerEl = document.getElementById('timer');
// 更新时间的函数
function updateTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var date = now.getDate();
var day = now.getDay();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
// 格式化时间
var formattedTime = year + '/' + month + '/' + date + ' ' + getDayString(day) + ' ' + formatNumber(hour) + ':' + formatNumber(minute) + ':' + formatNumber(second);
// 更新 span 元素的内容
timerEl.innerHTML = formattedTime;
}
// 获取星期的字符串
function getDayString(day) {
var dayArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
return dayArr[day];
}
// 格式化数字,将小于 10 的数字前面加上 0
function formatNumber(num) {
return num < 10 ? '0' + num : num;
}
// 每隔一秒更新一次时间
var timer = setInterval(updateTime, 1000);
```
上述代码中,`updateTime()` 函数用于更新时间,其中使用了 `getDayString()` 函数来获取星期的字符串,使用了 `formatNumber()` 函数来格式化数字,将小于 10 的数字前面加上 0。最后使用 `setInterval()` 方法每隔一秒钟调用一次 `updateTime()` 函数来更新时间。
阅读全文