這篇文章將為大家詳細講解有關基于jQuery的QQ表情插件是怎么樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
我們在QQ聊天或者發表評論、微博時,會有一個允許加入表情的功能,點擊表情按鈕,會彈出一系列表情小圖片,選中某個表情圖片即可發表的豐富的含表情的內容。
首先在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來美化頁面,關鍵是表情按鈕圖片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設置了提交按鈕的樣式,其代碼在本文中不做解釋,您可以下載代碼了解下。
當我們點擊頁面輸入框下方那個笑臉時,觸發調用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表情插件是怎么樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。