经典qq表情插件(html+nodejs应用)

由于目前在接触聊天室项目,接到一个需求实现一个类似QQ表情。在网上找了一款jquery经典表情插件。下面介绍一个用法:

HTML:

  首先在html页面的head中引入jQuery库文件和QQ表情插件jquery.qqFace.js文件

<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
   <script type="text/javascript" src="jquery.qqFace.js"></script>
然后在body中加入以下html代码:

1   <div id="show"></div>
2     <div class="comment">
3     <div class="com_form">
4         <textarea class="input" id="saytext" name="saytext"></textarea>
5         <p><span class="emotion">表情</span><input type="button" class="sub_btn" value="提交"></p>
6     </div>
7   </div> 

CSS:

我们用CSS来美化页面,关键是表情按钮图片span.emotion的鼠标滑上与移开效果,以及调用表情插件后,显示的表情.qqFace面板效果,请看代码:

 1 .comment{width:680px; margin:20px auto; position:relative}
 2 .comment h3{height:28px; line-height:28px}
 3 .com_form{width:100%; position:relative}
 4 .input{width:99%; height:60px; border:1px solid #ccc}
 5 .com_form p{height:28px; line-height:28px; position:relative}
 6 span.emotion{width:42px; height:20px; background:url(icon.gif) no-repeat 2px 2px;
 7 padding-left:20px; cursor:pointer}
 8 span.emotion:hover{background-position:2px -28px}
 9 .qqFace{margin-top:4px;background:#fff;padding:2px;border:1px #dfe6f6 solid;}
10 .qqFace table td{padding:0px;}
11 .qqFace table td img{cursor:pointer;border:1px #fff solid;}
12 .qqFace table td img:hover{border:1px #0066cc solid;}
13 #show{width:680px; margin:20px auto} 

jquery:

当我们点击页面输入框下方那个笑脸时,触发调用qqface表情插件,简单几行就搞定。

1 $(function(){
2     $(‘.emotion‘).qqFace({
3
4         assign:‘saytext‘, //给输入框赋值
5         path:‘face/‘    //表情图片存放的路径
6     });
7     ...
8 }); 

当选择表情图片后,输入框中会插入一段如[em_5]之类的代码,代表插入的表情图片,实际应用中,点提交按钮后应该将这段表情代码连同其他内容插入到数据表中。而在页面显示的时候,我们应该将表情代码替换成真正的图片显示在页面上。下面的代码是插入表情图片后,点击提交按钮,使用javascript自定义函数将表情代码替换并显示:

 1 $(function(){
 2     ...
 3     $(".sub_btn").click(function(){
 4         var str = $("#saytext").val();
 5         $("#show").html(replace_em(str));
 6     });
 7 });
 8 function replace_em(str){
 9     str = str.replace(/\</g,‘<;‘);
10     str = str.replace(/\>/g,‘>;‘);
11     str = str.replace(/\n/g,‘<;br/>;‘);
12     str = str.replace(/\[em_([0-9]*)\]/g,‘<img src="face/$1.gif" border="0" />‘);
13     return str;
14 } 

下面着重介绍下在nodejs+express4中的应用:

步骤如下:

1:加入引用表情的span

1         <div class="send-out">
2             <span class="emotion" id="emotion"><img class="head_picture" src="/images/r-middle-pic07.png">表情</span>
3             <input class="send-text" id="Y_iSend_Input" type="text" maxlength="100" value="">
4             <input id="Y_iSend_Bt" class="out_text" onclick="CHAT.submit();" type="button"  value="发送"/>
5         </div>

2:加入头文件并调用jquery

1 <script type="text/javascript" src="/js/jquery.qqFace.js"></script>
2  $(function(){
3             $(‘.emotion‘).qqFace({
4                 assign:‘Y_iSend_Input‘, //给输入框赋值
5                 path:‘/face/‘    //表情图片存放的路径
6            });
7     });

3:用正则替换输入的[]表情

w.CHAT={
replace_em: function (str) {
            str = str.replace(/\</g, ‘<;‘);
            str = str.replace(/\>/g, ‘>;‘);
            str = str.replace(/\n/g, ‘<;br/>;‘);
            str = str.replace(/\[em_([0-9]*)\]/g, ‘<img src="/face/$1.gif" border="0" />‘);
            return str;
        },

        //提交聊天消息内容
        submit: function () {

            var str = $("#Y_iSend_Input").val();

            $("#Y_iSend_Input").val(CHAT.replace_em(str));

            var message_text = d.getElementById("Y_iSend_Input").value;
  }
}

4:显示

nodejs聊天室,浅析。

 

时间: 2024-10-10 13:44:52

经典qq表情插件(html+nodejs应用)的相关文章

微信中QQ表情的解析(php)

微信公众平台接受的消息中,标签是用'/:'开头的字符串表示的,假设要在网页上显示(比方制作微信大屏幕),就须要进行转换. 所以我向微信公众平台按顺序发送了各个QQ表情,在微信公众平台后台能够看到接受的表情会被解析成https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/0.gif 这种图片.所以自己写一套解析函数就可以. 在微信公众平台后台发现,腾讯自己干了一件错误的事情:有一些表情没有被正确解析,这些标签的特点是有括号.引號这种字

WPF 微信 MVVM 【续】发送部分QQ表情

今天主要记录的就是发送QQ表情, WPF 微信 MVVM里写了,后期为了发送QQ表情,需要把TextBox替换为RichTextBox,接下来就说说替换的过程. 一.支持Binding的RichTextBox RichTextBox虽然支持文字,图片,链接,但是,原生的它不支持Binding,这个对于MVVM是很不方便的,因此,需要给RichTextBox设置一个依赖属性Document,来让它支持绑定,这样才能继续下一步. public class BindableRichTextBox :

分享一批QQ表情,表情工厂【喜洋洋版】

下载地址:程序吧QQ表情之喜洋洋 分享一批QQ表情,表情工厂[喜洋洋版],布布扣,bubuko.com

消除QQ表情小游戏

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> *{ padding:0px; margin:0px; font-family:"微软雅黑";} body{ background:#f1f1f1; font-family:"微软雅黑"; font-s

在EditText中添加QQ表情

本文参考自:http://blog.csdn.net/wulianghuan/article/details/8583921 在输入框中输入表情是每个聊天软件的必备功能,做到这点仅需要将表情放入工程图片文件夹中,然后用这段代码来添加图片即可,也就是说将图片作为一个文字添加到输入框中. //获取表情图片文件名 Field field=R.drawable.class.getDeclaredField("f" + randomId); int resourceId=Integer.pars

微信公众帐号中使用的QQ表情代码对照表

下 面一共列出了105个QQ表情,每个表情都给出了与之相对应的文字代码与符号代码: 向公众帐号发送一个QQ表情,在后台程序中接收到的是QQ表情的符号代码. // 判断QQ表情的正则表达式 string qqfaceRegex = "/::\\)|/::~|/::B|/::\\||/:8-\\)|/::<|/::$|/::X|/::Z|/::'\\(|/::-\\||/::@|/::P|/::D|/::O|/::\\(|/::\\+|/:--b|/::Q|/::T|/:,@P|/:,@-D|

EditView插入qq表情,可删除表情或文字

代码如下: 代码如下: package com.push.notif; import java.lang.reflect.Field; import java.util.Random; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.text.SpannableSt

金馆长qq表情包 | qq 表情包

QQ表情包,表情可以表达寓意.分享给大家表情包... QQ设置导入表情包 表情包演示: 表情包演示: QQ表情包,当表情帝.你愿意不? 下载地址:http://pan.baidu.com/s/1mgxjwDE

经典GIF表情包怎么做

生活节奏越来越快,而越来越多的人开始通过图片,视频传递信息,近几年比较火爆的就数GIF了,喜欢玩抖音的小伙伴都知道抖音聊天里有很多火爆的GIF表情包,比如跳舞.穿衣服.要红包.撩人.抱胸生气等多种表情包在抖音聊天记录里面简直是层出不穷.当然说到GIF,我们还是在聊天中使用的最多,那经典GIF表情包怎么做,今天说一说动态图制作教程吧!1.首先在电脑上运行迅捷GIF制作工具,准备好要做GIF的图片或者视频,双击运行即可,肯定很多人迫不及待的想要制作心仪的GIF了:2. 接下来,我们就可以启动GIF屏