写一个有留言功能的留言板页面要求包含合适的插画背景,留言能显示时间
时间: 2024-06-12 17:07:51 浏览: 85
和留言者的昵称,留言内容不能超过200字。
以下是代码实现:
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
<style type="text/css">
body {
background-image: url('https://cdn.pixabay.com/photo/2016/01/19/17/41/background-1150109_960_720.jpg');
background-size: cover;
font-family: Arial;
margin: 0;
padding: 0;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: rgba(255, 255, 255, 0.8);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
h1 {
text-align: center;
font-size: 40px;
margin-bottom: 20px;
}
form {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 20px;
}
input[type="text"], textarea {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
resize: vertical;
}
.submit-btn {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s;
}
.submit-btn:hover {
background-color: #3e8e41;
}
.message {
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
margin-bottom: 20px;
}
.message p {
font-size: 16px;
margin-bottom: 10px;
}
.message span {
font-weight: bold;
}
.message .time {
font-size: 12px;
color: #777;
}
</style>
</head>
<body>
<div class="container">
<h1>留言板</h1>
<form id="message-form">
<label for="nickname">昵称:</label>
<input type="text" id="nickname" name="nickname" required>
<label for="content">留言:</label>
<textarea id="content" name="content" required maxlength="200"></textarea>
<button type="submit" class="submit-btn">提交留言</button>
</form>
<div id="messages">
<!-- 留言显示区域 -->
</div>
</div>
<script type="text/javascript">
// 获取留言板表单和留言显示区域
const messageForm = document.querySelector('#message-form');
const messagesDiv = document.querySelector('#messages');
// 监听留言板表单的提交事件
messageForm.addEventListener('submit', (event) => {
event.preventDefault(); // 阻止表单默认提交行为
// 获取表单中的昵称和留言内容
const nickname = messageForm.elements.nickname.value.trim();
const content = messageForm.elements.content.value.trim();
// 如果昵称或留言内容为空,则弹出提示
if (!nickname || !content) {
alert('昵称和留言内容不能为空!');
return;
}
// 创建一个新的留言对象
const message = {
nickname: nickname,
content: content,
time: new Date()
};
// 将留言对象添加到留言列表中
addMessage(message);
// 清空表单
messageForm.reset();
});
// 添加留言函数
function addMessage(message) {
// 创建一个留言元素
const messageDiv = document.createElement('div');
messageDiv.classList.add('message');
// 创建留言内容元素
const contentP = document.createElement('p');
contentP.textContent = message.content;
// 创建留言信息元素
const infoP = document.createElement('p');
infoP.innerHTML = `留言者:<span>${message.nickname}</span>,时间:<span class="time">${message.time.toLocaleString()}</span>`;
// 将留言内容元素和留言信息元素添加到留言元素中
messageDiv.appendChild(contentP);
messageDiv.appendChild(infoP);
// 将留言元素添加到留言显示区域中
messagesDiv.appendChild(messageDiv);
}
</script>
</body>
</html>
阅读全文