引言
随着互联网技术的发展,网页已经从静态页面演变成为动态、互动的体验。DOM(文档对象模型)作为网页开发的基础,对于实现网页的动态效果至关重要。本文将深入解析30个实战案例,帮助读者全面掌握DOM的使用技巧,轻松实现网页互动。
案例一:动态显示当前时间
1.1 案例描述
本案例旨在实现一个网页,实时显示当前时间。
1.2 实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示当前时间</title>
</head>
<body>
<h1 id="time">当前时间:</h1>
<script>
function showTime() {
var now = new Date();
var timeStr = now.getFullYear() + "-" +
(now.getMonth() + 1) + "-" +
now.getDate() + " " +
now.getHours() + ":" +
now.getMinutes() + ":" +
now.getSeconds();
document.getElementById("time").innerText = timeStr;
}
setInterval(showTime, 1000);
</script>
</body>
</html>
1.3 案例解析
本案例通过JavaScript获取当前时间,并使用DOM操作将时间字符串设置为指定元素的innerText属性。
案例二:表单验证
2.1 案例描述
本案例旨在实现一个简单的表单验证功能,确保用户输入的信息符合要求。
2.2 实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单验证</title>
</head>
<body>
<form>
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<button type="button" onclick="validateForm()">提交</button>
</form>
<script>
function validateForm() {
var username = document.getElementById("username").value;
if (username.length < 6) {
alert("用户名长度不能少于6位!");
return false;
}
return true;
}
</script>
</body>
</html>
2.3 案例解析
本案例通过JavaScript获取用户输入的用户名,并对其长度进行验证。如果不符合要求,则弹出提示信息。
案例三:轮播图
3.1 案例描述
本案例旨在实现一个简单的轮播图功能,展示多张图片。
3.2 实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图</title>
</head>
<body>
<div id="carousel" style="overflow: hidden;">
<img src="image1.jpg" alt="图片1">
<img src="image2.jpg" alt="图片2">
<img src="image3.jpg" alt="图片3">
</div>
<script>
var index = 0;
var images = document.querySelectorAll("#carousel img");
setInterval(function () {
images[index].style.display = "none";
index = (index + 1) % images.length;
images[index].style.display = "block";
}, 2000);
</script>
</body>
</html>
3.3 案例解析
本案例通过JavaScript控制轮播图中的图片显示与隐藏,实现轮播效果。
案例四:折叠面板
4.1 案例描述
本案例旨在实现一个折叠面板功能,用户可以点击展开或收起内容。
4.2 实现代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>折叠面板</title>
</head>
<body>
<div>
<button onclick="togglePanel()">点击展开/收起</button>
<div id="panel" style="display: none;">
<p>这里是折叠面板的内容</p>
</div>
</div>
<script>
function togglePanel() {
var panel = document.getElementById("panel");
if (panel.style.display === "none") {
panel.style.display = "block";
} else {
panel.style.display = "none";
}
}
</script>
</body>
</html>
4.3 案例解析
本案例通过JavaScript控制折叠面板的显示与隐藏。
案例五:全屏滚动
5.1 案例描述
本案例旨在实现一个全屏滚动效果,用户可以通过鼠标滚轮或滑动屏幕进行页面滚动。
5.2 实现代码
”`html <!DOCTYPE html>
<meta charset="UTF-8">
<title>全屏滚动</title>
<div style="height: 100vh; overflow: auto;">
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏滚动的内容</p>
<p>这里是全屏
