给我一份类似微信聊天的前端dome,完整代码
很高兴为您提供帮助!以下是完整的微信聊天前端dome的代码:
HTML
```html
微信聊天
```
CSS (styles.css)
```css.container {
margin-top:30px;
width:80%;
}
.chatbox {
width:100%;
margin:0 auto;
}
.chat-header {
background-color: f7f7f7;
padding:10px;
border-bottom:1px solid ccc;
}
.chat-content {
padding:20px;
}
messages {
list-style: none;
padding:0;
margin:0;
}
.message {
background-color: fff;
padding:10px;
border-bottom:1px solid ccc;
}
.message-me {
float: right;
}
.message-you {
float: left;
}
.chat-input {
padding:20px;
}
message {
width:80%;
height:30px;
padding:10px;
font-size:16px;
}
send-btn {
background-color: 4CAF50;
color: fff;
border: none;
padding:10px20px;
font-size:16px;
cursor: pointer;
}
```
JavaScript (script.js)
```javascriptconst chatBox = document.querySelector('.chatbox');
const messagesList = document.getElementById('messages');
const messageInput = document.getElementById('message');
const sendBtn = document.getElementById('send-btn');
let messages = [];
// 发送消息函数function sendMessage(message) {
const newMessage = document.createElement('li');
newMessage.classList.add('message', 'message-me');
newMessage.innerHTML = `
${message}
`;
messagesList.appendChild(newMessage);
}
// 接收消息函数function receiveMessage(message) {
const newMessage = document.createElement('li');
newMessage.classList.add('message', 'message-you');
newMessage.innerHTML = `
${message}
`;
messagesList.appendChild(newMessage);
}
// 发送按钮点击事件sendBtn.addEventListener('click', () => {
const messageText = messageInput.value.trim();
if (messageText !== '') {
sendMessage(messageText);
// 模拟后端接收消息并回复 setTimeout(() => {
receiveMessage(`你好!`);
},1000);
messageInput.value = '';
}
});
// 监听输入框变化messageInput.addEventListener('input', () => {
const messageText = messageInput.value.trim();
if (messageText !== '') {
sendBtn.disabled = false;
} else {
sendBtn.disabled = true;
}
});
```
以上代码实现了一个基本的微信聊天前端dome,包括发送消息、接收消息和输入框变化事件。您可以根据需要进行调整和扩展。
详细描述
1. HTML结构
* `.container`类容器元素,包含整个聊天界面。
* `.chatbox`类元素,包含聊天内容区域和输入区域。
* `.chat-header`类元素,头部区域,显示标题。
* `.chat-content`类元素,聊天内容区域,显示消息列表。
* `.chat-input`类元素,输入区域,包含输入框和发送按钮。
2. CSS样式
* 定义了基本的布局和样式,包括背景颜色、边距、字体大小等。
3. JavaScript逻辑
* 定义了发送消息函数 `sendMessage` 和接收消息函数 `receiveMessage`。
* 监听输入框变化事件,并根据输入内容启用或禁用发送按钮。
* 当点击发送按钮时,调用 `sendMessage` 函数并模拟后端接收消息并回复。
以上是完整的微信聊天前端dome的代码和详细描述。