基于jQuery實(shí)現(xiàn)的QQ表情插件
不廢話了,先給大家展示效果圖:

我們?cè)赒Q聊天或者發(fā)表評(píng)論、微博時(shí),會(huì)有一個(gè)允許加入表情的功能,點(diǎn)擊表情按鈕,會(huì)彈出一系列表情小圖片,選中某個(gè)表情圖片即可發(fā)表的豐富的含表情的內(nèi)容。今天和大家分享一款基于jQuery的QQ表情插件,您可以輕松將其應(yīng)用到你的項(xiàng)目中。
HTML
首先在html頁(yè)面的head中引入jQuery庫(kù)文件和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代碼:
<div id="show"></div> <div class="comment"> <div class="com_form"> <textarea class="input" id="saytext" name="saytext"></textarea> <p><span class="emotion">表情</span><input type="button" class="sub_btn" value="提交"></p> </div> </div>
頁(yè)面中有一個(gè)輸入框,用來(lái)輸入要發(fā)表的內(nèi)容,還有一個(gè)表情按鈕,點(diǎn)擊此按鈕可以調(diào)用表情圖片,完了就可以點(diǎn)擊“提交”按鈕發(fā)布帶表情的內(nèi)容了。
CSS
我們用CSS來(lái)美化頁(yè)面,關(guān)鍵是表情按鈕圖片span.emotion的鼠標(biāo)滑上與移開(kāi)效果,以及調(diào)用表情插件后,顯示的表情.qqFace面板效果,請(qǐng)看代碼:
.comment{width:680px; margin:20px auto; position:relative}
.comment h3{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}
我們?cè)赿omo中還用CSS3設(shè)置了提交按鈕的樣式,其代碼在本文中不做解釋,您可以下載代碼了解下。
jQuery
當(dāng)我們點(diǎn)擊頁(yè)面輸入框下方那個(gè)笑臉時(shí),觸發(fā)調(diào)用qqface表情插件,簡(jiǎn)單幾行就搞定。
$(function(){
$('.emotion').qqFace({
assign:'saytext', //給輸入框賦值
path:'face/' //表情圖片存放的路徑
});
...
});
當(dāng)選擇表情圖片后,輸入框中會(huì)插入一段如[em_5]之類的代碼,代表插入的表情圖片,實(shí)際應(yīng)用中,點(diǎn)提交按鈕后應(yīng)該將這段表情代碼連同其他內(nèi)容插入到數(shù)據(jù)表中。而在頁(yè)面顯示的時(shí)候,我們應(yīng)該將表情代碼替換成真正的圖片顯示在頁(yè)面上。下面的代碼是插入表情圖片后,點(diǎn)擊提交按鈕,使用javascript自定義函數(shù)將表情代碼替換并顯示:
$(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代碼來(lái)正則替換表情圖片的話,可以使用以下函數(shù):
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;
}
以上內(nèi)容就是本文對(duì)基于jQuery實(shí)現(xiàn)的QQ表情插件的詳細(xì)介紹,希望大家喜歡。
- Android輸入框添加emoje表情圖標(biāo)的實(shí)現(xiàn)代碼
- Android高仿微信表情輸入與鍵盤(pán)輸入詳解
- Android編程開(kāi)發(fā)之EditText實(shí)現(xiàn)輸入QQ表情圖像的方法
- Android編程開(kāi)發(fā)實(shí)現(xiàn)TextView顯示表情圖像和文字的方法
- Android編程實(shí)現(xiàn)QQ表情的發(fā)送和接收完整實(shí)例(附源碼)
- 基于Android開(kāi)發(fā)支持表情的實(shí)現(xiàn)詳解
- Android開(kāi)發(fā)技巧之像QQ一樣輸入文字和表情圖像
- 一款支持插入表情的編輯器實(shí)現(xiàn)代碼(簡(jiǎn)單思路挺重要)
- 使MySQL能夠存儲(chǔ)emoji表情字符的設(shè)置教程
- 完整的Android表情功能處理方案
相關(guān)文章
jquery如何把數(shù)組變?yōu)樽址畟鞯椒?wù)端并處理
這篇文章主要介紹了jquery如何把數(shù)組變?yōu)樽址畟鞯椒?wù)端并處理,需要的朋友可以參考下2014-04-04
jQuery實(shí)現(xiàn)動(dòng)態(tài)表單驗(yàn)證時(shí)文本框抖動(dòng)效果完整實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)表單驗(yàn)證時(shí)文本框抖動(dòng)效果,可實(shí)現(xiàn)表單元素左右晃動(dòng)的抖動(dòng)功能,涉及jquery中元素的匹配與動(dòng)畫(huà)animate效果實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-08-08
jQuery EasyUI API 中文文檔 - Pagination分頁(yè)
jQuery EasyUI API 中文文檔 - Pagination分頁(yè),使用jQuery EasyUI的朋友可以參考下。2011-09-09
jQuery使用$獲取對(duì)象后檢查該對(duì)象是否存在的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jQuery使用$獲取對(duì)象后檢查該對(duì)象是否存在的實(shí)現(xiàn)方法。小編覺(jué)而挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
jquery實(shí)現(xiàn)select選擇框內(nèi)容左右移動(dòng)代碼分享
這篇文章主要介紹了jquery實(shí)現(xiàn)select選擇框內(nèi)容左右移動(dòng)代碼,感興趣的小伙伴們可以參考一下2015-11-11
通過(guò)Ajax使用FormData對(duì)象無(wú)刷新上傳文件方法
這篇文章主要介紹了通過(guò)Ajax使用FormData對(duì)象無(wú)刷新上傳文件方法,具有一定的參考價(jià)值,感興趣的朋友可以了解一下。2016-12-12
jQuery實(shí)現(xiàn)數(shù)字自動(dòng)增加或者減少的動(dòng)畫(huà)效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)數(shù)字自動(dòng)增加或者減少的動(dòng)畫(huà)效果,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)設(shè)置元素屬性相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
jQuery ajax MD5實(shí)現(xiàn)用戶注冊(cè)即時(shí)驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了JQuery AJAX MD5實(shí)現(xiàn)用戶注冊(cè)即時(shí)驗(yàn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

