基于jQuery的QQ表情插件是怎么样的

发布时间:2021-10-13 16:03:35 作者:柒染
来源:亿速云 阅读:158

这篇文章将为大家详细讲解有关基于jQuery的QQ表情插件是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

我们在QQ聊天或者发表评论、微博时,会有一个允许加入表情的功能,点击表情按钮,会弹出一系列表情小图片,选中某个表情图片即可发表的丰富的含表情的内容。

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代码:

<p id="show"></p> <p class="comment">    <p class="com_form">        <textarea class="input" id="saytext" name="saytext"></textarea>        <p><span class="emotion">表情</span><input type="button" class="sub_btn" value="提交"></p>    </p> </p>

页面中有一个输入框,用来输入要发表的内容,还有一个表情按钮,点击此按钮可以调用表情图片,完了就可以点击“提交”按钮发布带表情的内容了。

CSS

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

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

我们在domo中还用CSS3设置了提交按钮的样式,其代码在本文中不做解释,您可以下载代码了解下。

jQuery

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

$(function(){ $('.emotion').qqFace({ assign:'saytext', //给输入框赋值 path:'face/'//表情图片存放的路径 }); ... });

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

$(function(){ ... $(".sub_btn").click(function(){ var str = $("#saytext").val(); $("#show").html(replace_em(str)); }); }); function replace_em(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; }

如果您想用PHP代码来正则替换表情图片的话,可以使用以下函数:

function ubbReplace($str){    $str = str_replace(">",'<;',$str);    $str = str_replace(">",'>;',$str);    $str = str_replace("n",'>;br/>;',$str); $str = preg_replace("[[em_([0-9]*)]]",">img src="face/$1.gif" />",$str);    return $str; }

关于基于jQuery的QQ表情插件是怎么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. ajax如何实现类似qq的在线聊天插件
  2. jQuery插件的开发

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jquery

上一篇:什么是高阶组件HOC

下一篇:常见的软件架构模式有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》