首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js实现发表留言添加表情特效代码

要在JavaScript中实现发表留言时添加表情特效,可以使用以下步骤和代码示例:

基础概念

  1. HTML结构:创建一个用于输入留言和选择表情的区域。
  2. CSS样式:定义表情特效的样式。
  3. JavaScript逻辑:处理用户输入和表情选择,并将表情特效应用到留言中。

优势

  • 提升用户体验,使留言功能更加生动有趣。
  • 增加用户互动性,鼓励更多用户参与交流。

类型

  • 静态表情:预定义的表情图标。
  • 动态表情:通过GIF或其他动画形式展示的表情。

应用场景

  • 社交媒体平台
  • 论坛
  • 即时通讯工具

示例代码

HTML部分

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>留言表情特效</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <textarea id="message" placeholder="请输入留言..."></textarea>
        <div id="emoji-picker">
            <!-- 表情选择器 -->
            <span class="emoji" data-emoji="😊">😊</span>
            <span class="emoji" data-emoji="😂">😂</span>
            <span class="emoji" data-emoji="🤣">🤣</span>
        </div>
        <button id="submit-btn">提交</button>
        <div id="messages"></div>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS部分(styles.css)

代码语言:txt
复制
.container {
    width: 300px;
    margin: 0 auto;
}

#message {
    width: 100%;
    height: 100px;
    margin-bottom: 10px;
}

#emoji-picker {
    display: flex;
    gap: 5px;
}

.emoji {
    cursor: pointer;
    font-size: 20px;
    transition: transform 0.2s;
}

.emoji:hover {
    transform: scale(1.2);
}

#messages {
    margin-top: 20px;
}

JavaScript部分(script.js)

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', () => {
    const messageInput = document.getElementById('message');
    const emojiPicker = document.getElementById('emoji-picker');
    const submitBtn = document.getElementById('submit-btn');
    const messagesContainer = document.getElementById('messages');

    emojiPicker.addEventListener('click', (event) => {
        if (event.target.classList.contains('emoji')) {
            const emoji = event.target.getAttribute('data-emoji');
            insertEmoji(messageInput, emoji);
        }
    });

    submitBtn.addEventListener('click', () => {
        const message = messageInput.value.trim();
        if (message) {
            displayMessage(message);
            messageInput.value = '';
        }
    });

    function insertEmoji(input, emoji) {
        const start = input.selectionStart;
        const end = input.selectionEnd;
        const value = input.value;
        input.value = value.substring(0, start) + emoji + value.substring(end);
        input.selectionStart = input.selectionEnd = start + emoji.length;
    }

    function displayMessage(message) {
        const messageElement = document.createElement('div');
        messageElement.textContent = message;
        messageElement.classList.add('message');
        messagesContainer.appendChild(messageElement);
    }
});

解释

  1. HTML结构:定义了一个文本区域用于输入留言,一个表情选择器区域,以及一个提交按钮。
  2. CSS样式:设置了基本的布局和表情的悬停效果。
  3. JavaScript逻辑
    • 监听表情选择器的点击事件,将选中的表情插入到文本区域中。
    • 监听提交按钮的点击事件,将留言内容显示在页面上。

通过这种方式,用户在发表留言时可以选择并插入表情,从而增加互动性和趣味性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • zblogPHP万能型主题模板希望(Hopelee)全新绽放,独具热爱,自成一派

    较为不错的SEO优化及全新自适应代码,可实现“多终端同步”。 预留对应接口及联盟广告接口,多一份收入,多一分稳定。 另外,您有好的建议也可以联系作者,可能会帮助您实现!...-- 增加独立注册链接接口,主题设置中添加。 -- 优化繁简转换js代码。 -- 优化主题授权功能代码,优化加密代码。...-- 优化评论区底部回复时表情无法显示完整的问题。 -- 优化移动端自适应界面两侧间距。 -- 文章评论区新增快捷回复功能,回复文字可在后台自行设置。...-- 优化评论js函数代码。 1.3.7(22/03/22) -- 优化夜间模式下部分样式细节。 -- 优化og标签,新增文章发布时间标签。 -- 优化logo扫光特效代码。...-- 优化侧栏模块代码,重新编写侧栏最近发表、标签列表和最新留言模块,删除冗余代码,调用数量在模块管理,最新留言(标签或者最近发布)类型选择UL。最大行数就是调用数量。

    2.2K30

    小程序留言板块引入emoji表情

    最近准备给博客小程序添加一个留言板功能,考虑到如果只是纯文本留言有点过于简陋了,所以准备按照仿微信风格,在评论时可以添加emoji表情发送,实际上为了简化开发,原本找到了github一个插件WxEmojiView...首先刚才讲过了我们需要根据用户选择的emoji表情,选中对应emoji表情的字符串形式添加到输入文本中。...所以首先需要在页面js文件的data中创建一个数组存储emoji表情的名称,再创建一个字符串存储emoji表情对应的字符串格式。不同的emoji字符串形式以-拼接。...界面效果没有问题了,那下一步就需要来实现留言的功能了。实际上我们的需求很简单,就是文字和emoji表情结合,在我们选择emoji表情时,将emoji表情对应的字符串形式添加到输入文本中。...最后实现发送按钮的点击事件send,逻辑实际上很简单,就是保存留言内容。点击发送按钮需要关系emoji浮层,所以需要更改increase值为false。

    3.8K10

    纯代码给WordPress文章和评论添加OwO表情教程

    这两天本来想着精简一下,但修改源码时发现里面代码比较复杂,有些图标使用的还是背景定位来实现的,查找位置非常麻烦,有些代码根据正常删减竟然出现整个都不显示了,最后不得不放弃,也因此想着更换另外一种表情。...) position:OwO表情符号body的位置 width:OwO表情符号body的宽度 注意事项 图片表情:位置及格式必须与上面js文件中的一致 至此表情基本配置完成并可以正常使用了,但发现发表文字表情都会在评论框上显示...] } 现在发表评论表情时评论框会显示::haha::,发表成功也是这样,而不是具体的haha表情图片,这是因为我们还需要对表情短代码与图片进行转义,在functions.php文件中加入下列代码: php...上面是关于评论加入表情按钮和发表评论添加表情的方法,当然还可以在发表文章时插入表情符号。 文章中插入表情符号 同样打开functions.php文件,加入下列代码即可。注意表情路径改为你自己的。...source=1362404091 这种表情图标样式及功能其实一直是我想要的,只是一直以来因为自己的能力问题没有实现,今天终于解决了!

    1.9K30

    WordPress Ajax 异步加载 自定义评论表情

    再者,如果浏览者不打算评论,简直是浪费了;所以,本文教程实现的是:当点击评论的时候才加载评论表情,这样,评论表情才能更好发挥其用处。...注意: 在开始本教程前请确保你已经看过《WordPress中添加自定义评论表情包的方法(附三套表情包下载)》原文并在你的主题上实现该功能,要求下载的smilies[devework.com].zip文件在这里有用...WordPress Ajax 异步加载 自定义评论表情教程: 一、删除你主题上来自于《WordPress中添加自定义评论表情包的方法(附三套表情包下载)》一文的所有代码(重要!)...; 二、确保你的主题已经加载了jquery.js文件(具体都应该懂的吧,不懂留言~)。...Jeff 已经尽量详细了,如果有不懂的,请留言。

    1.7K91

    zblog企业展示型主题模板赢天下(Winlee)助力小微企业成长

    怎么感觉跟写小说是的呢),说人话就是弄了一款小微企业主题,助力企业成长,以最少的资金获得最好的服务,毕竟现在的企业网站建设都是3-5K起步,万八千的也不少,更何况还有几千万搭建商城结果还运行不了的,悲伤的表情...PS:实现IP显示归属地需要安装并开启“ip地址物理化”插件 V 2.5.9(22/04/21) -- 优化侧栏评论成功、删除及审核通过后自动编译处理的问题。  -- 修复网友反馈的BUG。...-- 优化评论js函数代码。 -- 重写留言评论翻页代码。...-- 优化主题文字LOGO样式特效代码。 -- 优化分类列表模板在没有选择模板的情况下自动选择默认catalog模板相关代码。 -- 优化主题后台幻灯片预览图显示效果。...-- 优化侧栏留言模块及评论留言优先采用QQ头像代码。 -- 优化网页部分细节及网友反馈问题。 更新日志:2021/09/25 -- 优化网页富媒体标签,理论上可以增加搜索出图的几率。

    1.8K40

    Joe主题目录介绍

    joe.responsive.min.scss // 自适应样式文件 │ │ └── joe.setting.min.scss // 后台外观设置的样式文件 │ │ └── OwO.min.scss // 评论表情样式文件...脚本文件 │ │ └── fish.js // 网站底部跳动的鱼 │ │ └── jfloor.js // 文章页面目录树文件 │ │ └── joe.config.js //...主题初始化文件 │ │ └── joe.setting.js // 后台外观设置文件 │ │ └── owo.js // 评论OwO文件 │ │ │ ├── owo // 评论表情图片...SmoothScroll// 平滑滚动文件 │ ├── public // 公共文件 │ ├── aside.php // 侧边栏文件 │ ├── comment.dynamic.php // 动态发表评论文件...归档页面 ├── functions.php // 后台外观设置,每项设置文件 ├── huya.php // 虎牙直播页面 ├── index.php // 首页 ├── leaving.php // 留言页面

    1K20

    利用placeholder属性来添加输入框默认文字提示,提高用户体验

    一、JS 控制默认文字 先说一下问题: 用 HotNewspro 主题的网站,默认的留言输入框是这样的: ? 常规情况下,光标聚焦留言输入框,这个预设提示文字是会自动消失的: ?...,写点什么...').css({color:"#666"});         }       }     ); }); 这就是 input 默认提示文字的 JS 实现方法,网上还有另一种类似实现形式...不过在上文插入表情的那种情境下,就出问题了:点击插入表情时,并没有对输入框触发 onclick 动作,于是默认文字并未清空就填入表情了,然后就算鼠标离开输入框,由于默认文字发生改变,也就不会自动清空了!...当然,针对上文问题情境,完全可以通过给【点击表情这个动作】绑定一个清空预设文字功能,点击表情时先判断输入框是否是【默认提示文字】,如果是就先清空,然后在插入表情,从而解决问题。...你以前可能无数次看到这种效果,但那些大部分是用 JavaScript 里实现的,而现在,HTML5 提供了原生支持,而且效果更好!

    4.3K90

    怎样把网站js文件合并成一个?几种方法可以实现

    我们在建网站时经常会用js特效代码以使页面更美观,比如js幻灯片代码、js下拉菜单等,但是网页特效一多,如果js文件没有合并的话会降低网站的性能,这时我们就要考虑合并js文件了,ytkah总结了以下几种方法可以实现...:   1.把不输出(没有document.write)的公共函数合到一起,如果单纯地把两个js文件内容copy到一起可能会出错   2.新建一个import.js文件,把所有的js文件全部写进去 with...text/javascript" language="javascript" src="/3.js">'); }   但是这种方法虽然代码精简了,而实际上却也要加载这些js文件,所以不算适用...3.采用异步加载(页面加载后)不太重要的JS文档   4.将JS文档放到多个网站上,可实现同步加载多个JS。...如a.com/1.js、 b.com/2.js ,但这种如果其中一个网站出问题,那么页面加载将会很缓慢。

    3.8K30

    【留言板】可编辑输入框操作总结

    闲暇之余,用于加深自己对基础的了解,徒手撸了一个留言板:输入框。废话少说,进入正题。简陋的效果如下(下载代码): 一、定义需求 可输入文本,以及插入表情。...兼容性:IE与标准浏览器 二、详细设计 根据需求,我们大致可以想到如下问题: 兼容性的处理 事件绑定的兼容性 可编辑输入框的表情插入兼容性 获取数据的兼容性 三个模块 留言板与ui交互的模块 表情展示模块...可编辑输入框的操作模块 因此我规划了如下的类结构: LeaveMsg:实现UI与留言板的交互 FaceWrap:实现表情殂的管理,以及相应事件的响应,如显示/隐藏,获取表情,初始化表情列表等。...SelectionUitls:实现可编辑输入框的操作,如:插入一个表情、获取数据等。 各模块的兼容性在以下细节中进行介绍。 三、代码实现 1....range.collapse(true);//合并起点、终点光标 sel.removeAllRanges();//移除所有选区 sel.addRange(range); //添加一个选区

    1.5K100

    js实现两个数组对象,重复的属性覆盖,不重复的添加

    当使用ES5语法时,你可以使用for循环和hasOwnProperty方法来实现两个数组对象的合并,覆盖重复的属性,并添加不重复的属性。...以下是一个示例代码:function mergeArrays(arr1, arr2) { var merged = []; var propMap = {}; // 遍历第一个数组,将属性添加到...merged.indexOf(propMap[prop.key]); merged[index] = prop; } else { // 如果属性不存在,则添加...然后,通过遍历第一个数组 arr1,将属性添加到 merged 数组中,并在 propMap 对象中以属性的键值作为键,属性对象作为值进行存储。...如果不存在,说明属性是不重复的,直接将属性添加到 merged 数组中。最后,返回合并后的数组 merged。这样就实现了两个数组对象的合并,重复属性被覆盖,不重复属性被添加。

    47310

    C#结合JS实现HtmlTable动态添加行并保存到数据库

    因此可以实现一个相对轻量化的设计实现表格的录入,为保证功能的可用性、界面友好性,总体的需求如下: 1、数据网格可以动态的添加行,行可以提供输入框、选择框的控件进行录入。...4、可以实现数据的有效性验证功能(如必填写、位数限制、类型限制等)。 5、需要对输入的文字过滤和屏蔽HTML标记等危险内容。 6、添加新行前判断已有行的有效性,对于未校验通过的暂不允许添加新行。...8、数据保存实现动态无刷新。...实现。...实现的效果演示视频如下: 动态添加 HtmlTable 行并保存到数据库 范例运行环境 操作系统: Windows Server 2019 DataCenter 数据库:Microsoft SQL Server

    14910

    评论发表后表情不显示

    好吧,离题了,言归正传,经常来老王这里的朋友应该了解本站评论经历了从纯文字到文字加表情,而表情又从表情图片列表显示到点击才显示表情图片列表,虽然在不断折腾,但一直以来都只有一组表情。...配置完又发现发表评论时表情图片可以在评论框中显示,但发表成功后表情却没有了。...,大多数是在mysql中使用命令进行配置,但一直比较小(不)心(懂)的我基本都不敢随意修改数据库,害怕万一弄错就悲剧了,好在最后找到一个不用去动数据库并且适用于Wordpress的方法, 将下面的代码添加到主题...update-utf8bm4=1 其实打开地址我什么也没有看见,但重新发表评论插入表情并发布时发现表情可以显示了。...不过还有一个问题,因为表情来源于网络,涉及到json文件中alias等原因,暂时没有深入研究和折腾,所以会出现如阿和留言所说的表情比较丑,但和阿和一起测试发现貌似和所用系统有关,正如我这边macOS看着可以

    52410
    领券