跨年烟花html代码倒计时
时间: 2024-12-31 07:46:52 浏览: 8
### HTML代码实现跨年烟花和倒计时效果
为了实现在网页上展示跨年烟花以及新年倒计时的功能,可以采用HTML结合JavaScript的方式。下面是一个简单的例子来满足需求:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>跨年烟花与倒计时</title>
<style>
body {
background-color: black;
color: white;
text-align: center;
font-family: Arial, sans-serif;
}
#countdown {
margin-top: 20%;
font-size: 7em;
}
.fireworks-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none; /* 不影响鼠标事件 */
}
</style>
</head>
<body>
<div id="countdown">10</div>
<canvas class="fireworks-container"></canvas>
<script src="https://cdn.jsdelivr.net/npm/canvas-fireworks@latest/fireworks.min.js"></script>
<script>
// 加载完成后启动烟花动画
window.onload = function () {
const canvasElements = document.querySelectorAll('.fireworks-container');
for (let i = 0; i < canvasElements.length; ++i) {
new Fireworks(canvasElements[i], { density: 0.4 });
}
};
function startCountdown(durationInSeconds) {
let countdownElement = document.getElementById('countdown'),
startTime = Date.now(),
endTime = startTime + durationInSeconds * 1000;
function updateCountdown() {
let currentTime = Date.now();
if (currentTime >= endTime) {
countdownElement.textContent = "Happy New Year!";
} else {
let remainingTime = Math.ceil((endTime - currentTime) / 1000);
countdownElement.textContent = remainingTime.toString().padStart(2, '0');
requestAnimationFrame(updateCountdown); // 使用requestAnimationFrame代替setTimeout提高性能
}
}
updateCountdown(); // 开始倒计时
}
startCountdown(10); // 设定为10秒的倒计时
</script>
</body>
</html>
```
此段代码通过设置`<body>`标签内的样式使整个页面呈现黑色背景并居中显示白色文字;利用内联CSS定义了一个较大的字体用于表示剩余时间;引入外部库`canvas-fireworks`负责渲染绚丽多彩的烟火特效[^1]。
阅读全文