這篇文章將為大家詳細(xì)講解有關(guān)基于jQuery的QQ表情插件是怎么樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)建站專注于中大型企業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶千余家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!我們?cè)赒Q聊天或者發(fā)表評(píng)論、微博時(shí),會(huì)有一個(gè)允許加入表情的功能,點(diǎn)擊表情按鈕,會(huì)彈出一系列表情小圖片,選中某個(gè)表情圖片即可發(fā)表的豐富的含表情的內(nèi)容。
首先在html頁面的head中引入jQuery庫(kù)文件和QQ表情插件jquery.qqFace.js文件。
然后在body中加入以下html代碼:
表情
頁面中有一個(gè)輸入框,用來輸入要發(fā)表的內(nèi)容,還有一個(gè)表情按鈕,點(diǎn)擊此按鈕可以調(diào)用表情圖片,完了就可以點(diǎn)擊“提交”按鈕發(fā)布帶表情的內(nèi)容了。
我們用CSS來美化頁面,關(guān)鍵是表情按鈕圖片span.emotion的鼠標(biāo)滑上與移開效果,以及調(diào)用表情插件后,顯示的表情.qqFace面板效果,請(qǐng)看代碼:
.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}
我們?cè)赿omo中還用CSS3設(shè)置了提交按鈕的樣式,其代碼在本文中不做解釋,您可以下載代碼了解下。
當(dāng)我們點(diǎn)擊頁面輸入框下方那個(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ù)表中。而在頁面顯示的時(shí)候,我們應(yīng)該將表情代碼替換成真正的圖片顯示在頁面上。下面的代碼是插入表情圖片后,點(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(/n/g,'<;br/>;');
str = str.replace(/[em_([0-9]*)]/g,'');
return str;
}
如果您想用PHP代碼來正則替換表情圖片的話,可以使用以下函數(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;
}
關(guān)于基于jQuery的QQ表情插件是怎么樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。