
在网页开发中,根据用户的交互动态更新页面内容是常见的需求。本教程将通过一个具体示例,演示如何根据用户在输入框中输入的值,在页面上显示不同的图片,并提供一个按钮来清除显示的内容。我们将重点关注JavaScript中正确的DOM操作方法和现代编码实践。
首先,我们需要一个基本的HTML结构,包含一个输入框、两个按钮和一个用于显示内容的段落元素。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动态图片展示</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid #ddd;
padding: 8px;
text-align: center;
}
img {
max-width: 100px; /* 限制图片大小 */
height: auto;
}
</style>
</head>
<body>
<table border="1">
<tr>
<td>
<input type="number" id="input1" placeholder="请输入数字">
<button id="leftButton" onclick="fruitTest();">确认</button>
</td>
<td>
<p id="middleCell">在此显示图片</p>
</td>
<td>
<button id="clearButton" onclick="clearBox();">清除</button>
</td>
</tr>
</table>
<script src="script.js"></script> <!-- 引入JavaScript文件 -->
</body>
</html>在这个HTML结构中:
接下来,我们将编写JavaScript代码来实现上述功能。这里我们将介绍一种更健壮、更符合现代JavaScript实践的方法。
立即学习“Java免费学习笔记(深入)”;
首先,定义两张图片的URL,并获取需要操作的DOM元素。推荐使用 const 声明常量,以提高代码的可读性和维护性。
// script.js
const appleImgUrl = "https://codehs.com/uploads/afcd3bf7ea7baf3f7d571c6e24c352af";
const pearImgUrl = "https://codehs.com/uploads/e0c442f8c020685fc8016f15c2547f1e";
// 获取需要操作的DOM元素
const middleCell = document.getElementById('middleCell');fruitTest() 函数负责根据用户输入的值来判断显示哪张图片。这里我们将采用 document.createElement() 方法来创建 <img> 元素,而不是直接拼接HTML字符串。这种方法更安全、更灵活,并且在处理复杂DOM结构时性能更好。
function fruitTest() {
const myInput = document.getElementById('input1');
const inputValue = parseInt(myInput.value); // 将输入值转换为整数
// 清除 previous content to avoid multiple images if re-triggering
middleCell.innerHTML = '';
// 检查输入值是否有效
if (isNaN(inputValue)) {
middleCell.textContent = "请输入有效的数字!";
return;
}
const img = document.createElement('img'); // 创建一个新的<img>元素
if (inputValue > 100) {
img.src = appleImgUrl; // 设置苹果图片的URL
img.alt = "苹果图片"; // 设置alt属性,提高可访问性
} else if (inputValue < 0) {
img.src = pearImgUrl; // 设置梨子图片的URL
img.alt = "梨子图片"; // 设置alt属性
} else {
middleCell.textContent = "请输入大于100或小于0的数字。";
return;
}
// 将创建的图片元素添加到 middleCell 中
middleCell.appendChild(img);
}关键改进点:
clearBox() 函数相对简单,只需将 middleCell 的 innerHTML 属性设置为空字符串即可。
function clearBox() {
middleCell.innerHTML = ''; // 清空 middleCell 的内容
// 也可以选择恢复初始文本
// middleCell.textContent = "在此显示图片";
}将上述代码整合到 script.js 文件中:
// script.js
const appleImgUrl = "https://codehs.com/uploads/afcd3bf7ea7baf3f7d571c6e24c352af";
const pearImgUrl = "https://codehs.com/uploads/e0c442f8c020685fc8016f15c2547f1e";
const middleCell = document.getElementById('middleCell');
function fruitTest() {
const myInput = document.getElementById('input1');
const inputValue = parseInt(myInput.value);
middleCell.innerHTML = ''; // 清除现有内容
if (isNaN(inputValue)) {
middleCell.textContent = "请输入有效的数字!";
return;
}
const img = document.createElement('img');
let imgSet = false; // 标记是否设置了图片
if (inputValue > 100) {
img.src = appleImgUrl;
img.alt = "苹果图片";
imgSet = true;
} else if (inputValue < 0) {
img.src = pearImgUrl;
img.alt = "梨子图片";
imgSet = true;
} else {
middleCell.textContent = "请输入大于100或小于0的数字。";
}
if (imgSet) {
middleCell.appendChild(img);
}
}
function clearBox() {
middleCell.innerHTML = '';
middleCell.textContent = "在此显示图片"; // 清除后恢复初始提示文本
}通过本教程,我们学习了如何利用JavaScript和DOM操作实现基于用户输入的动态内容展示。
关键学习点:
掌握这些技术将帮助您构建更具交互性和用户友好性的网页应用。
以上就是JavaScript动态更新HTML内容:实现基于用户输入的图片显示与清除的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号