H5(HTML5)前端开发是指使用HTML5、CSS3和JavaScript等技术进行网页和移动应用的开发。HTML5是最新的HTML标准,提供了丰富的语义化标签和功能,使得网页可以更加优雅和多样化。CSS3是用于样式表的升级版本,提供了更多的样式效果和布局控制能力。JavaScript是一种脚本语言,用于实现网页的交互和动态效果。
H5前端开发常涉及的技术和工具包括:
、
、
等。我们实现一个新年倒计实时刷新,它会实时更新并显示距离下一年新年还有多少时间。
实现效果截图:
以下是代码的详细解析:
<div id="countdown"></div>
我们用一个 div 元素来存放倒计时的显示内容,这个 div 元素的 id 值为 countdown。
window.onload = function() {
var dd = document.getElementById('countdown');
function countDown() {
// 获取当前时间
var nowTime = new Date();
// 获取下一年的年份
var nextYear = nowTime.getFullYear() + 1;
// 设置目标时间(下一年的 1 月 1 日 0 点 0 分)
var inputTime = new Date(nextYear + "-1-1 0:0");
// 计算距离目标时间的时间差,单位为秒
var times = (inputTime - nowTime) / 1000;
// 计算剩余天数
var d = parseInt(times / (24 * 60 * 60));
// 计算剩余小时数
var h = parseInt(times / (60 * 60) % 24);
// 计算剩余分钟数
var m = parseInt(times / 60 % 60);
// 计算剩余秒数
var s = parseInt(times % 60);
// 判断少于两位数的前面补 0
d = d < 10 ? "0" + d : d;
h = h < 10 ? "0" + h : h;
m = m < 10 ? "0" + m : m;
s = s < 10 ? "0" + s : s;
// 将计算结果显示在页面上
dd.innerHTML = "距离" + nextYear + "年还剩" + d + "天" + h + "小时" + m + "分钟" + s + "秒";
// 判断倒计时是否结束
if (times <= 0) {
clearTimeout(timer);
dd.innerHTML = "倒计时结束";
} else {
setTimeout(countDown, 1000); // 每秒调用一次 countDown 函数
}
}
countDown();
};
我们首先通过 window.onload 函数绑定页面加载完成后执行的事件,确保页面元素全部加载完毕后再执行 JavaScript 代码。
在 countDown 函数中,首先获取当前时间和下一年的年份。然后,设置目标时间为下一年的 1 月 1 日 0 点 0 分,通过计算当前时间与目标时间之间的时间差,可以得到时间差的秒数,即 times 变量。
接下来,通过计算 times 变量得出剩余天数、小时数、分钟数和秒数,并将不足两位数的数值前面补充一个 0,以确保每个时间单位都以两位数的方式显示
最后,将计算出来的结果拼接成一段字符串,显示在页面上,并判断倒计时是否结束。如果倒计时结束,清除计时器并在页面上显示倒计时结束的信息。如果倒计时没有结束,每秒调用一次 countDown 函数,保证倒计时的实时更新。
完整html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="countdown"></div>
<script>
window.onload = function() {
var dd = document.getElementById('countdown');
function countDown() {
var nowTime = new Date();
var nextYear = nowTime.getFullYear() + 1;
var inputTime = new Date(nextYear + "-1-1 0:0");
var times = (inputTime - nowTime) / 1000; // 换算为秒数
var d = parseInt(times / (24 * 60 * 60)); // 计算剩余天数
var h = parseInt(times / (60 * 60) % 24); // 计算剩余小时
var m = parseInt(times / 60 % 60); // 计算剩余分钟
var s = parseInt(times % 60); // 计算剩余秒数
d = d < 10 ? "0" + d : d;
h = h < 10 ? "0" + h : h;
m = m < 10 ? "0" + m : m;
s = s < 10 ? "0" + s : s;
dd.innerHTML = "距离" + nextYear + "年还剩" + d + "天" + h + "小时" + m + "分钟" + s + "秒";
// 判断倒计时是否结束
if (times <= 0) {
clearTimeout(timer);
dd.innerHTML = "倒计时结束";
} else {
setTimeout(countDown, 1000); // 每秒调用一次countDown函数
}
}
countDown();
};
</script>
</body>
</html>
function countDown() { … }: 定义countDown函数,负责计算和显示倒计时。
var nowTime = new Date();: 获取当前日期和时间。
var nextYear = nowTime.getFullYear() + 1;: 计算下一年的年份。
var inputTime = new Date(nextYear + “-1-1 0:0”);: 创建一个新的日期对象,表示下一年的1月1日。
计算当前时间与下一年1月1日之间的时间差。
countDown();: 当窗口加载完成时调用countDown函数,以启动倒计时。
总结:
倒计时以以下格式显示:“距离[下一年]年还剩[天]天[小时]小时[分钟]分钟[秒]秒”。
日期对象:
new Date(): 用于创建日期对象,获取当前日期和时间。
对日期对象的操作,例如获取年份、月份、小时等。
总体而言,这个小项目主要集中在前端开发,使用了基本的网页开发技术,通过JavaScript实现了倒计时功能。这种类型的倒计时器通常用于网页上的交互元素,为用户提供一种有趣的方式来了解剩余的时间。