
创建基础HTML结构
在实现交互页面之前,需要先搭建基础的HTML框架。以下是一个包含按钮和显示区域的简单结构:
<!DOCTYPE html>
<html>
<head>
<title>交互页面案例</title>
<style>
#displayArea {
margin: 20px;
padding: 15px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<button id="interactButton">点击交互</button>
<div id="displayArea">这里将显示交互结果</div>
<script src="script.js"></script>
</body>
</html>
实现基础JavaScript交互
创建一个名为script.js的文件,编写以下代码实现点击按钮改变显示内容的逻辑:
document.getElementById('interactButton').addEventListener('click', function() {
const displayArea = document.getElementById('displayArea');
const currentTime = new Date().toLocaleTimeString();
displayArea.textContent = `按钮于 ${currentTime} 被点击`;
displayArea.style.backgroundColor = '#f0f8ff';
});
添加输入交互功能
扩展案例,增加对用户输入的响应处理。修改HTML添加输入框:
<input type="text" id="userInput" placeholder="输入内容">
<button id="showInputButton">显示输入</button>
<div id="inputResult"></div>
在JavaScript中添加新功能:
document.getElementById('showInputButton').addEventListener('click', function() {
const userInput = document.getElementById('userInput').value;
document.getElementById('inputResult').innerHTML =
`你输入的内容是: <strong>${userInput}</strong>`;
});
实现计数器功能
添加一个简单的计数器来演示状态管理:
<p>当前计数: <span id="counter">0</span></p>
<button id="incrementBtn">增加</button>
<button id="decrementBtn">减少</button>
对应JavaScript代码:
let count = 0;
const counterElement = document.getElementById('counter');
document.getElementById('incrementBtn').addEventListener('click', () => {
count++;
counterElement.textContent = count;
});
document.getElementById('decrementBtn').addEventListener('click', () => {
count--;
counterElement.textContent = count;
});
添加简单动画效果
通过CSS过渡实现点击时的视觉反馈:
button {
transition: all 0.3s ease;
}
button:active {
transform: scale(0.95);
background-color: #e0e0e0;
}
实现颜色切换器
创建一个改变背景颜色的功能:
<button id="colorChanger">切换背景色</button>
JavaScript实现:
const colors = ['#ffdddd', '#ddffdd', '#ddddff', '#ffffdd'];
let colorIndex = 0;
document.getElementById('colorChanger').addEventListener('click', function() {
document.body.style.backgroundColor = colors[colorIndex];
colorIndex = (colorIndex + 1) % colors.length;
});
添加本地存储功能
使用localStorage保存计数器状态:
// 初始化时读取保存的值
if(localStorage.getItem('savedCount')) {
count = parseInt(localStorage.getItem('savedCount'));
counterElement.textContent = count;
}
// 修改计数器函数保存状态
function updateCounter() {
counterElement.textContent = count;
localStorage.setItem('savedCount', count.toString());
}
// 更新事件监听器
document.getElementById('incrementBtn').addEventListener('click', () => {
count++;
updateCounter();
});
错误处理机制
添加基本的输入验证:
document.getElementById('showInputButton').addEventListener('click', function() {
const userInput = document.getElementById('userInput').value.trim();
const resultElement = document.getElementById('inputResult');
if(userInput === '') {
resultElement.textContent = '请输入有效内容';
resultElement.style.color = 'red';
} else {
resultElement.innerHTML = `你输入的内容是: <strong>${userInput}</strong>`;
resultElement.style.color = 'black';
}
});
3935

被折叠的 条评论
为什么被折叠?



