jQuery实现的网页右下角tab样式在线客服效果代码

jQuery实现的网页右下角tab样式在线客服效果,可以让网站提供在线客服支持,方便用户与客服人员的交流。以下是实现步骤及代码示例:

1. 创建HTML结构

在页面中需要创建以下HTML结构:

<div class="chat-wrapper">
    <div class="chat-header">
        <i class="fa fa-comments" aria-hidden="true"></i>
        <span>客服在线</span>
        <i class="fa fa-angle-down" aria-hidden="true"></i>
    </div>
    <div class="chat-body">
        <div class="chat-message"></div>
        <textarea class="chat-input" placeholder="请输入消息"></textarea>
    </div>
</div>
<div class="chat-tab">在线客服</div>

chat-wrapper 是整个客服窗口的容器,包含头部和主体区域;chat-header 是头部区域,包含图标、标题和收起展开箭头;chat-body 是主体区域,包含消息展示区和输入框;chat-tab 是在线客服的标签,位于页面的右下角。

2. 创建CSS样式

为了让客服窗口和标签看起来更美观,需要为它们创建相应的CSS样式:

.chat-wrapper {
    width: 300px;
    height: 400px;
    border: 1px solid #ccc;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 999;
    border-radius: 10px 0 0 0;
    overflow: hidden;
    transition: all 0.5s ease;
}

.chat-header {
    background-color: #556b8d;
    color: #fff;
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
    cursor: pointer;
}

.chat-header span {
    margin-left: 10px;
}

.chat-body {
    height: 320px;
    overflow-y: auto;
    padding: 10px;
}

.chat-message {
    margin-bottom: 10px;
}

.chat-input {
    width: 100%;
    height: 80px;
    outline: none;
}

.chat-tab {
    width: 80px;
    height: 30px;
    background-color: #556b8d;
    color: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 30px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 999;
    border-radius: 15px 0 0 0;
}

3. 编写jQuery代码

接下来需要使用jQuery来实现在线客服的交互效果:

$(function () {
    // 将聊天框收缩,只显示标签
    $(".chat-wrapper").hide();
    $(".chat-tab").click(function () {
        $(".chat-wrapper").show();
    });

    // 收起聊天框
    $(".chat-header i.fa-angle-down").click(function () {
        $(".chat-wrapper").animate({
            height: "40px"
        });
        $(".chat-body").hide();
        $(this).hide();
        $(".chat-header i.fa-angle-up").show();
    });

    // 展开聊天框
    $(".chat-header i.fa-angle-up").click(function () {
        $(".chat-wrapper").animate({
            height: "400px"
        });
        $(".chat-body").show();
        $(this).hide();
        $(".chat-header i.fa-angle-down").show();
    });

    // 发送消息
    $(".chat-input").keypress(function (event) {
        if (event.keyCode == 13) {
            var message = $(this).val();
            $(this).val("");
            $(".chat-message").append("<p>我:" + message + "</p>");
        }
    });
});

首先将聊天窗口隐藏,只显示标签;当用户点击标签时,聊天窗口展开。当用户点击收起箭头时,聊天窗口收起,点击展开箭头时,聊天窗口展开。当用户在输入框中按下回车键时,我们会获取输入框内容,显示到聊天框中。

示例

以下是示例代码,在线演示请参考以下链接:

https://codepen.io/hezhengjie/pen/RwejKRj

<!DOCTYPE html>
<html>
<head>
    <title>jQuery实现的网页右下角tab样式在线客服效果</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
    <style>
        .chat-wrapper {
            width: 300px;
            height: 400px;
            border: 1px solid #ccc;
            position: fixed;
            bottom: 0;
            right: 0;
            z-index: 999;
            border-radius: 10px 0 0 0;
            overflow: hidden;
            transition: all 0.5s ease;
        }

        .chat-header {
            background-color: #556b8d;
            color: #fff;
            height: 40px;
            line-height: 40px;
            padding: 0 10px;
            cursor: pointer;
        }

        .chat-header span {
            margin-left: 10px;
        }

        .chat-body {
            height: 320px;
            overflow-y: auto;
            padding: 10px;
        }

        .chat-message {
            margin-bottom: 10px;
        }

        .chat-input {
            width: 100%;
            height: 80px;
            outline: none;
        }

        .chat-tab {
            width: 80px;
            height: 30px;
            background-color: #556b8d;
            color: #fff;
            font-size: 14px;
            text-align: center;
            line-height: 30px;
            position: fixed;
            bottom: 20px;
            right: 20px;
            cursor: pointer;
            z-index: 999;
            border-radius: 15px 0 0 0;
        }
    </style>
</head>
<body>
<div class="chat-wrapper">
    <div class="chat-header">
        <i class="fa fa-comments" aria-hidden="true"></i>
        <span>客服在线</span>
        <i class="fa fa-angle-down" aria-hidden="true"></i>
        <i class="fa fa-angle-up" aria-hidden="true"></i>
    </div>
    <div class="chat-body">
        <div class="chat-message"></div>
        <textarea class="chat-input" placeholder="请输入消息"></textarea>
    </div>
</div>
<div class="chat-tab">在线客服</div>

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
    $(function () {
        // 将聊天框收缩,只显示标签
        $(".chat-wrapper").hide();
        $(".chat-tab").click(function () {
            $(".chat-wrapper").show();
        });

        // 收起聊天框
        $(".chat-header i.fa-angle-down").click(function () {
            $(".chat-wrapper").animate({
                height: "40px"
            });
            $(".chat-body").hide();
            $(this).hide();
            $(".chat-header i.fa-angle-up").show();
        });

        // 展开聊天框
        $(".chat-header i.fa-angle-up").click(function () {
            $(".chat-wrapper").animate({
                height: "400px"
            });
            $(".chat-body").show();
            $(this).hide();
            $(".chat-header i.fa-angle-down").show();
        });

        // 发送消息
        $(".chat-input").keypress(function (event) {
            if (event.keyCode == 13) {
                var message = $(this).val();
                $(this).val("");
                $(".chat-message").append("<p>我:" + message + "</p>");
            }
        });
    });
</script>
</body>
</html>

在网页中引入jQuery和font-awesome样式,即可实现在线客服效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现的网页右下角tab样式在线客服效果代码 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 对 jQuery 中 data 方法的误解分析

    下面是详细讲解“对 jQuery 中 data 方法的误解分析”的完整攻略。 什么是 jQuery 中的 data 方法 在 jQuery 中,data() 方法是用于在元素上存储任意数据的函数。它可以将数据存储在 HTML 标签中,并在需要时读取这些数据。与 HTML5 中的 data 属性不同,jQuery 的 data 方法支持任意类型的数据,包括标量…

    jquery 2023年5月28日
    00
  • 浅谈jQuery中的$.extend方法来扩展JSON对象

    当我们需要扩展一个 JSON 对象时,我们可以使用 jQuery 中的 $.extend() 方法。该方法给第一个对象添加了第二个、第三个……对象的属性和方法。其语法如下所示: $.extend([deep], target, object1 [, objectN]); 参数解释: deep:可选参数,默认为 false。如果为 true,则递归合并(或深度…

    jquery 2023年5月28日
    00
  • jQuery 回调函数(callback)的使用和基础

    jQuery 回调函数的使用和基础 在使用 jQuery 的过程中,我们可能会需要在某些事件执行完毕后执行一些函数或代码,这时候就需要用到回调函数。本文将会详细介绍 jQuery 回调函数的基础用法和常见的应用场景。 基本概念 回调函数是指在某个函数完成后,自动调用传递进去的一个函数。在 jQuery 中,在事件执行完毕后,可以使用回调函数来完成其他一些操作…

    jquery 2023年5月27日
    00
  • jquery 键盘事件的使用方法详解

    jQuery 键盘事件的使用方法详解 jQuery 是一个非常常用的 JavaScript 库,它提供了各种实用的方法,可以用来简化 DOM 操作、事件处理等功能。其中就包括了与键盘相关的事件处理。在开发过程中,经常需要借助键盘事件来实现一些特殊的交互效果,例如监听用户的按键、禁止部分按键等,下面我们就来详细讲解一下 jQuery 键盘事件的使用方法。 1.…

    jquery 2023年5月28日
    00
  • jQWidgets jqxPivotGrid pivotitemcollapsed 事件

    以下是关于 jQWidgets jqxPivotGrid 组件中 pivotitemcollapsed 事件的详细攻略。 jQWidgets jqxPivotGrid pivotitemcollapsed 事件 jQWidgets jqxPivotGrid 组件的 pivotitemcollapsed 事件在用户折叠透视表中的行或列时触发。 语法 $(‘#p…

    jquery 2023年5月12日
    00
  • jQWidgets jqxNotification destroy()方法

    以下是关于 jQWidgets jqxNotification 组件中 destroy() 方法的详细攻略。 jQWidgets jqxNotification destroy() 方法 jQWidgets jqxNotification 的 destroy() 方法用于销毁通知组件。 语法 // 销毁通知组件 $(‘#notification’).jqxN…

    jquery 2023年5月12日
    00
  • jQWidgets jqxRangeSelector width 属性

    首先让我们来了解一下 jQWidgets jqxRangeSelector 的 width 属性。 jQWidgets jqxRangeSelector width 属性详解 width 属性概述 jqxRangeSelector 是 jQWidgets 库中的一个组件,用于展示一定区域内的数据并支持选择时间范围。width 属性用于设置 jqxRangeS…

    jquery 2023年5月11日
    00
  • a标签跳转到指定div,jquery添加和移除class属性的实现方法

    a标签跳转到指定div的实现方法 为了实现a标签跳转到指定div,我们可以通过给需要跳转的目标div添加id属性,然后在a标签href属性中填写# + div的id,这样点击a标签时就会直接跳转到指定的div。示例如下: <!– 需要跳转到的目标div –> <div id="target-div"> 这是需要…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部