jquery.qqFace.js 页面标签/jquery

来源:互联网 发布:淘宝哪里申请商标认证 编辑:程序博客网 时间:2024/06/06 09:47
// QQ表情插件
(function($){  
$.fn.qqFace = function(options){
var defaults = {
id : 'facebox',
path : 'face/',
assign : 'content',
tip : ''
};
var option = $.extend(defaults, options);
var assign = $('#'+option.assign);
var id = option.id;
var path = option.path;
var tip = option.tip;
//根据不同应用替换为不同的数据
var arr=['微笑','撇嘴','色','发呆','大哭','害羞','闭嘴','睡','流泪','尴尬','发怒','调皮','呲牙','惊讶','难过'
         ,'冷汗','抓狂','吐','偷笑','可爱','白眼','傲慢','饥饿','困','惊恐','流汗','憨笑','大兵','奋斗','咒骂'
         ,'疑问','嘘','晕','疯了','衰','敲打','再见','擦汗','抠鼻','糗大了','坏笑','左哼哼','右哼哼','哈欠','鄙视'
         ,'委屈','快哭了','阴险','亲亲','吓','可怜','拥抱','月亮','太阳','炸弹','骷髅','菜刀','猪头','西瓜','咖啡'];
//,'饭','爱心','强','弱','握手','胜利','抱拳','勾引',''
if(assign.length<=0){
alert('缺少表情赋值对象。');
return false;
}
$(this).click(function(e){
var strFace, labFace;
if($('#'+id).length<=0){
strFace = '<div id="'+id+'" style="position:absolute;display:none;z-index:1000;" class="qqFace">' +
  '<table border="0" cellspacing="0" cellpadding="0"><tr>';
for(var i=1; i<=60; i++){
labFace = '['+arr[i-1]+']';
strFace += '<td><img src="'+path+i+'.gif" onclick="$(\'#'+option.assign+'\').setCaret();$(\'#'+option.assign+'\').insertAtCaret(\'' + labFace + '\');" /></td>';
if( i % 15 == 0 ) strFace += '</tr><tr>';
}
strFace += '</tr></table></div>';
}
$(this).parent().append(strFace);
var offset = $(this).position();
var top = offset.top + $(this).outerHeight();
$('#'+id).css('top',top);
$('#'+id).css('left',offset.left);
$('#'+id).show();
e.stopPropagation();
});

$(document).click(function(){
$('#'+id).hide();
$('#'+id).remove();
});
};

})(jQuery);

jQuery.extend({ 
unselectContents: function(){ 
if(window.getSelection) 
window.getSelection().removeAllRanges(); 
else if(document.selection) 
document.selection.empty(); 
}); 
jQuery.fn.extend({ 
selectContents: function(){ 
$(this).each(function(i){ 
var node = this; 
var selection, range, doc, win; 
if ((doc = node.ownerDocument) && (win = doc.defaultView) && typeof win.getSelection != 'undefined' && typeof doc.createRange != 'undefined' && (selection = window.getSelection()) && typeof selection.removeAllRanges != 'undefined'){ 
range = doc.createRange(); 
range.selectNode(node); 
if(i == 0){ 
selection.removeAllRanges(); 
selection.addRange(range); 
} else if (document.body && typeof document.body.createTextRange != 'undefined' && (range = document.body.createTextRange())){ 
range.moveToElementText(node); 
range.select(); 
}); 
}, 

setCaret: function(){ 
if(!$.browser.msie) return; 
var initSetCaret = function(){ 
var textObj = $(this).get(0); 
textObj.caretPos = document.selection.createRange().duplicate(); 
}; 
$(this).click(initSetCaret).select(initSetCaret).keyup(initSetCaret); 
}, 

insertAtCaret: function(textFeildValue){ 
var textObj = $(this).get(0); 
if(document.all && textObj.createTextRange && textObj.caretPos){ 
var caretPos=textObj.caretPos; 
caretPos.text = caretPos.text.charAt(caretPos.text.length-1) == '' ? 
textFeildValue+'' : textFeildValue; 
} else if(textObj.setSelectionRange){ 
var rangeStart=textObj.selectionStart; 
var rangeEnd=textObj.selectionEnd; 
var tempStr1=textObj.value.substring(0,rangeStart); 
var tempStr2=textObj.value.substring(rangeEnd); 
textObj.value=tempStr1+textFeildValue+tempStr2; 
textObj.focus(); 
var len=textFeildValue.length; 
textObj.setSelectionRange(rangeStart+len,rangeStart+len); 
textObj.blur(); 
}else{ 
textObj.value+=textFeildValue; 
}
$(this).focus();
});
//实现预览功能
var arr=['微笑','撇嘴','色','发呆','大哭','害羞','闭嘴','睡','流泪','尴尬','发怒','调皮','呲牙','惊讶','难过'
         ,'冷汗','抓狂','吐','偷笑','可爱','白眼','傲慢','饥饿','困','惊恐','流汗','憨笑','大兵','奋斗','咒骂'
         ,'疑问','嘘','晕','疯了','衰','敲打','再见','擦汗','抠鼻','糗大了','坏笑','左哼哼','右哼哼','哈欠','鄙视'
         ,'委屈','快哭了','阴险','亲亲','吓','可怜','拥抱','月亮','太阳','炸弹','骷髅','菜刀','猪头','西瓜','咖啡'];

var num=0;
//替换表情
function replace_em(str){
  str = str.replace(/\</g,'&lt;');
  str = str.replace(/\>/g,'&gt;');
  str = str.replace(/\n/g,'<br/>');
str=str.replace(/\[([\u4E00-\u9FA5]*)\]/g,function($1){
var rts = $1;
var rts2 = rts.match(/([\u4E00-\u9FA5]*)/g);
var matchstr = "";
for(var j = 0 ;j<rts2.length;j++){
if(rts2[j]!="" && rts2[j]!=null){
matchstr = rts2[j];
}
}
for(var i=0;i<=60;i++){
if(arr[i]==matchstr){
num =i+1;
break;
}
}
return '<img src="../images/qqFace/face/'+num+'.gif" border="0" />';
});
  return str;
}

//页面标签

<div id="main" style="">
 <div class="comment" style="">
<div class="com_form">
<div style="width:650px; margin-bottom:5px;">
<span id="show1"></span>
</div>
<div style="height: 30px; background-color: #F2F2F2">
<span class="emotion2">表情</span><span style="border-left-width: 100px; margin-left: 540px;">可输入300字</span>
</div>
<div style="height:250px;">
<textarea  class="input" id="content2" name="messageContent.messageText" 
style="height:230px;" readonly="readonly"><s:property value="messageContent.messageText"/></textarea>
</div>
</div>
<input id ="preview1" name="preview1" type="button" value="预览" class="delMes cur tosnsmall_btnl">
<input id ="isSave" name="sendMessage" type="submit" value="保存" class="delMes cur tosnsmall_btnl">
<input id ="isEdit" name="isEdit" type="button" value="编辑" class="delMes cur tosnsmall_btnl" style="display:none;">&nbsp;&nbsp;<span id="wrongMsg"></span>
<input type="hidden" name="messageContent.messageType" value="0">
<input type="hidden" id="currentShow" name="currentShow" value="${currentShow}" />
<input type="hidden" id ="msg" name="msg" value="${msg}" />
</div>
</div>

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩不肯读书沉迷游戏怎么办 小孩沉迷吃鸡游戏怎么办 高一数学成绩差怎么办 小孩子学数学用手指算怎么办 孩子d和b分不清怎么办 和家人走散后怎么办幼儿教案 小孩胃口不好不爱吃饭怎么办 幼儿园孩子学习记不住怎么办 幼儿园小孩数字记不住怎么办 大班教案走丢了怎么办 ppt加视频反了怎么办 拔罐之后背疼怎么办 拔完火罐后背疼怎么办 打印机红色的口堵了怎么办 打印机红色复印不出来怎么办 打印机加错颜色墨水怎么办 中班安全教案脚扭伤了怎么办 中班脚扭伤了怎么办教案 中班安全脚扭伤了怎么办 中班安全脚扭伤了怎么办反思 走丢了怎么办教案反思 汽车后轱辘不转怎么办 走丢了怎么办社会教案 小老鼠搬鸡蛋鸡蛋太大怎么办 小班走丢了怎么办教案 小班走丢了怎么办反思 房屋外墙漏水物业不管怎么办 厨房墙砖用色花怎么办 小孩子做错事很偏激怎么办 孩子在学校偷钱怎么办 房间墙壁上到处有湿虫怎么办 买了西晒的房子怎么办 墙面瓷砖下水管漏水怎么办 西晒房间开空调没效果怎么办 墙纸被小孩画了怎么办 集成墙板缝隙大怎么办 高血压变低血压怎么办会恢复吗 总是感觉睡不够好困怎么办 两岁宝宝说有鬼怎么办 阳台改成了卧室晒衣服怎么办 室外墙角边墙泥受潮脱落怎么办