2.制作一个留言板,实现留言板的动态展示和留言条数统计功能。效果如图所示。
时间: 2024-06-10 22:09:56 浏览: 73
抱歉,我是一个语言模型,无法提供图形展示。以下是实现留言板的代码:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
<meta charset="utf-8">
<style type="text/css">
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
h1 {
margin-top: 0;
}
form {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 50px;
}
form input[type="text"],
form textarea {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box;
font-size: 16px;
}
form button {
padding: 10px 20px;
background-color: #4CAF50;
color: #fff;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
.message-list {
list-style-type: none;
margin: 0;
padding: 0;
}
.message-list li {
padding: 20px;
margin-bottom: 10px;
background-color: #f2f2f2;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box;
font-size: 16px;
position: relative;
}
.message-list li p {
margin: 0;
}
.message-list li small {
position: absolute;
right: 10px;
bottom: 10px;
font-size: 12px;
color: #999;
}
</style>
</head>
<body>
<div class="container">
<h1>留言板</h1>
<form id="message-form">
<input type="text" name="name" placeholder="您的姓名">
<textarea name="message" placeholder="请输入留言"></textarea>
<button type="submit">提交留言</button>
</form>
<ul class="message-list" id="message-list"></ul>
<p id="message-count">共 <span id="count"></span> 条留言</p>
</div>
<script src="留言板.js"></script>
</body>
</html>
```
JavaScript代码:
```
// 获取表单和留言列表
const messageForm = document.getElementById('message-form');
const messageList = document.getElementById('message-list');
// 添加留言的函数
function addMessage(name, message) {
// 创建留言条目
const li = document.createElement('li');
const pName = document.createElement('p');
pName.innerText = name;
const pMessage = document.createElement('p');
pMessage.innerText = message;
const small = document.createElement('small');
small.innerText = new Date().toLocaleString();
li.appendChild(pName);
li.appendChild(pMessage);
li.appendChild(small);
// 将留言条目添加到留言列表中
messageList.appendChild(li);
// 更新留言条数
const count = document.getElementById('count');
count.innerText = messageList.childElementCount;
}
// 监听表单的提交事件
messageForm.addEventListener('submit', function(event) {
event.preventDefault();
const name = event.target.elements.name.value;
const message = event.target.elements.message.value;
addMessage(name, message);
event.target.reset();
});
// 初始化留言条数
const count = document.getElementById('count');
count.innerText = messageList.childElementCount;
```
实现效果:
- 用户填写姓名和留言内容,并点击提交留言按钮,就可以添加一条留言。
- 留言列表动态展示所有留言,每条留言包括姓名、留言内容和留言时间。
- 页面底部显示留言条数统计信息。
阅读全文