用JavaScript和HTML实现聊天页面和功能(超详细)

这篇具有很好参考价值的文章主要介绍了用JavaScript和HTML实现聊天页面和功能(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


🚀一、介绍

在这个博文中,我将向您展示如何使用JavaScript和HTML来创建一个精美的聊天页面。这个页面将允许两个人进行对话,并显示他们之间的消息。页面上将有一个对话展示框、一个输入框和一个提交按钮,以及用户聊天的头像。

先来一个最终效果图展示:

用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🚀二、开始编码

在开始编写代码之前,我们需要确保我们有一个基本的HTML结构。请按照以下步骤创建一个HTML文件并将其命名为chat.html

🔎2.1 创建一个HTML文件

创建一个HTML文件,并在文件的头部添加以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chat</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="chat-container">
        <div class="chat-display">
            <!-- 对话展示框将在这里 -->
        </div>
        <div class="chat-input">
            <input type="text" id="message-input" placeholder="请输入内容">
            <button id="submit-btn">发送</button>
        </div>
    </div>

    <script src="script.js"></script>
</body>
</html>

在上面的代码中,我们定义了一个聊天容器(chat-container),其中包含一个对话展示框(chat-display),一个输入框(message-input)和一个提交按钮(submit-btn)。

用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🔎2.2 编写样式

创建一个CSS文件并将其命名为style.css,然后将以下代码添加到文件中:

/* 设置基本样式 */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

.chat-container {
    max-width: 500px;
    margin: 20px auto;
    border: 1px solid #ccc;
    border-radius: 10px;
    overflow: hidden;
}

.chat-display {
    padding: 10px;
    background-color: #f9f9f9;
    height: 300px;
    overflow-y: scroll;
}

.chat-input {
    display: flex;
    align-items: center;
    padding: 10px;
    background-color: #f5f5f5;
}

.chat-input input {
    flex-grow: 1;
    margin-right: 10px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.chat-input button {
    padding: 5px 10px;
    background-color: #428bca;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

在上面的代码中,我们定义了一些基本的样式来设置聊天页面的外观。这些样式将在后面的步骤中进一步完善。
用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🔎2.3 完善聊天页面

虽然我们已经成功地实现了一个基本的聊天页面,但是为了使页面看起来更精美,我们还可以添加一些额外的功能和样式。

  1. 添加头像:为了给用户一个更加个性化的聊天体验,我们可以为每个用户添加一个头像。在sendMessage函数中,我们可以使用HTML的<img>元素来添加头像。在代码中添加以下代码:
// 获取用户头像的URL
const avatarUrl = 'https://example.com/user-avatar.png';

// 创建并设置头像元素
const avatar = document.createElement('img');
avatar.src = avatarUrl;
avatar.width = 40;
avatar.height = 40;

// 将头像元素添加到消息元素的前面
newMessage.insertBefore(avatar, newMessage.firstChild);

在上面的代码中,我们首先定义了一个用户头像的URL(avatarUrl)。然后,我们创建了一个图片元素(avatar),并将其设置为指定的URL、宽度和高度。最后,我们使用insertBefore方法将头像元素添加到消息元素的前面。

  1. 设置对话用户的样式:为了区分聊天页面中不同用户的消息,我们可以为每个用户分配不同的颜色或背景色。在sendMessage函数中,我们可以根据消息的发送者来设置不同样式。在代码中添加以下代码:
// 获取当前用户的用户名
const username = 'User';

// 设置消息的样式
if (username === 'User') {
    // 用户的消息样式
    newMessage.style.backgroundColor = '#428bca';
    newMessage.style.color = 'white';
} else {
    // 对方的消息样式
    newMessage.style.backgroundColor = '#f5f5f5';
    newMessage.style.color = '#333';
}

在上面的代码中,我们首先定义了当前用户的用户名(username)。然后,我们根据用户名来设置不同的消息样式。如果用户名为User,则为用户的消息设置一个蓝色背景色和白色字体颜色;否则,为对方的消息设置一个灰色背景色和黑色字体颜色。

🔎2.4 编写按钮逻辑

创建一个JavaScript文件并将其命名为script.js,然后将以下代码添加到文件中:

// 获取元素
const messageInput = document.getElementById('message-input');
const submitBtn = document.getElementById('submit-btn');
const chatDisplay = document.querySelector('.chat-display');

// 添加事件监听器
submitBtn.addEventListener('click', sendMessage);

// 定义函数:发送消息
function sendMessage() {
    // 获取输入的消息内容
    const message = messageInput.value;
    
    // 创建一个新的消息元素
    const newMessage = document.createElement('div');
    newMessage.classList.add('message');
    
    // 设置消息内容和样式
    newMessage.innerHTML = message;
    newMessage.style.backgroundColor = '#428bca';
    newMessage.style.color = 'white';
    newMessage.style.padding = '5px 10px';
    newMessage.style.marginBottom = '10px';
    
    // 将消息添加到对话展示框中
    chatDisplay.appendChild(newMessage);
    
    // 清空输入框
    messageInput.value = '';
}

在上面的代码中,我们首先获取了输入框(messageInput)、提交按钮(submitBtn)和对话展示框(chatDisplay)的引用。然后,我们为提交按钮添加了一个点击事件监听器(sendMessage)。

sendMessage函数中,我们首先获取用户输入的消息内容,并创建一个新的消息元素(newMessage)。然后,我们为消息元素设置样式,并将其添加到对话展示框中。最后,我们清空输入框的内容。

🔎2.5 测试聊天效果

现在,您可以在浏览器中打开chat.html文件来测试聊天页面。在输入框中输入一条消息,然后点击提交按钮。您的消息应该会显示在对话展示框中。
用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🔎2.6 优化对话显示

像模仿微信的做法,自己发送的消息放到框的右边,并且文本居中。在代码中作出如下设置。

newMessage.style['text-align'] = 'right';
newMessage.style['display'] = 'inline-flex';
newMessage.style['justify-content'] = 'right'
newMessage.style['align-items'] = 'center'
newMessage.style['width'] = '100%'

效果变成如下。
用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🔎2.7 设置一个自动回复

一个单独的聊天未免有点单调,增加一条自动回复吧。当接收到消息的时候,自动回复一条数据,实现后的效果如下图。

🔎2.8 优化头像为圆形显示

方形的头像看上去不太和谐和美观,优化成圆形显示,在style.css中添加如下代码。

.message img {
    border-radius: 30px;
}

用JavaScript和HTML实现聊天页面和功能(超详细),100个JavaScript的小应用,javascript,html,开发语言,聊天页面

🚀三、总结

通过使用JavaScript和HTML,我们成功地创建了一个精美的聊天页面。在这个页面上,两个人可以进行对话,并显示他们之间的消息。页面上有一个对话展示框、一个输入框和一个提交按钮,以及用户聊天的头像。

您可以根据自己的需求来进一步完善页面的功能和样式。例如,您可以添加时间戳、滚动到最新消息、保存聊天记录等功能。您还可以自定义样式,使页面更加漂亮和吸引人。

希望这篇博文能够帮助您理解如何用JavaScript和HTML创建一个聊天页面,并为您的项目或应用提供一些灵感。祝您编程愉快!

完整代码可以通过博客顶部下载或者私信我获取。文章来源地址https://www.toymoban.com/news/detail-618030.html

到了这里,关于用JavaScript和HTML实现聊天页面和功能(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【uni-app】uni-app实现聊天页面功能(小程序)——布局篇

    在工作中使用uni-app参与开发一个小程序,其中要写一个简单的聊天页面,虽然功能不多(只有一个发送文字的功能),但是其中的细节比较多,也踩过很多坑,特此记录下来。要实现的页面如图所示,该篇主要讲讲如何布局(参考了很多文章之后根据页面需求进行一个整合)

    2024年02月05日
    浏览(91)
  • 拖动排序功能的实现 - 使用HTML、CSS和JavaScript

    在现代Web应用程序中,拖动排序是一种常见的用户界面交互方式,它允许用户通过拖动元素来重新排列列表或项目的顺序。本文将介绍如何使用HTML、CSS和JavaScript来实现手动拖动排序功能。 首先,我们需要定义一个列表,并给每个项目添加一个唯一的标识符。下面是一个简单

    2024年02月16日
    浏览(45)
  • uniapp+websocket聊天功能实现(超详细!!附代码,可直接复用)

    最近项目上用到了聊天的功能,下面来分享一下关于websocket,键盘弹出等问题,避免别的朋友踩坑。  接着进入正文了!!!!! 先看看整体的页面布局  system.windowHeight : 页面总高度 totalHeight:顶部导航栏高度 sendHeight:底部输入框高度 (设置样式的时候自己设置的) keybo

    2024年02月08日
    浏览(38)
  • javascript - 实现拍照功能(详细示例代码)

    HTML5 的 getUserMedia API 为用户提供访问硬件设备媒体(摄像头、视频、音频、地理位置等)的接口,基于该接口,开发者可以在不依赖任何浏览器插件的条件下访问硬件媒体设备。 另外,主流浏览器 Firefox、Chrome、Safari、Opera 等等已经全面支持。

    2024年02月15日
    浏览(45)
  • 蓝牙聊天App设计3:Android Studio制作蓝牙聊天通讯软件(完结,蓝牙连接聊天,结合生活情景进行蓝牙通信的通俗讲解,以及代码功能实现,内容详细,讲解通俗易懂)

    前言:蓝牙聊天App设计全部有三篇文章(一、UI界面设计,二、蓝牙搜索配对连接实现,三、蓝牙连接聊天),这篇文章是:三、蓝牙连接聊天。 课程1:Android Studio小白安装教程,以及第一个Android项目案例“Hello World”的调试运行 课程2:蓝牙聊天App设计1:Android Studio制作蓝

    2024年02月12日
    浏览(39)
  • 如何将 JavaScript 添加到 HTML 页面

    介绍 JavaScript,简称 JS,是一种用于网页开发的编程语言。作为 Web 的核心技术之一,JavaScript 与 HTML 和 CSS 一起用于使网页具有交互性并构建 Web 应用程序。现代 Web 浏览器遵循通用的显示标准,通过内置引擎支持 JavaScript,无需额外的插件。 在处理 Web 文件时,JavaScript 需要与

    2024年04月15日
    浏览(42)
  • HTML+CSS+JavaScript:渲染电商站购物车页面

     根据下图渲染购物车页面 以下是缺失JS部分的代码,感兴趣的小伙伴可以先自己试着写一写

    2024年02月14日
    浏览(47)
  • HTML旅游景点网页作业制作——旅游中国11个页面(HTML+CSS+JavaScript)

    👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTML+CSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容丰富,主题鲜明,非常适合初学者学习使用, 这个实例比较全面,有助于同学的学习,本文将

    2024年02月05日
    浏览(57)
  • 渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?

    在上一篇文章中我们介绍了导航相关的流程,那导航被提交后又会怎么样呢? 就进入了渲染阶段。这个阶段很重要,了解其相关流程能让你“看透”页面是如何工作的,有了这些知识,你可以解决一系列相关的问题,比如能熟练使用开发者工具,因为能够理解开发者工具里面

    2024年02月16日
    浏览(53)
  • 渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?

    在上篇文章中,我们介绍了渲染流水线中的 DOM 生成、样式计算和布局三个阶段,那今天我们接着讲解渲染流水线后面的阶段。 这里还是先简单回顾下上节前三个阶段的主要内容:在 HTML 页面内容被提交给渲染引擎之后,渲染引擎首先将 HTML 解析为浏览器可以理解的 DOM;然后

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包