利用HTML、CSS 实现带表情的评论框的制作教程

时间:2021-05-08

  HTML带表情的评论框,表情通过Json数据加载,可以根据自己的喜好改变表情。本评论框代码为HTML,CSS,JQ三个方面的代码。图1为原始状态,图2为点击表情时出现的表情列表,可以任意选择一个或者多个。下面我们来看看实现的代码。

图1

图2

  实现的代码:

  html代码:

XML/HTML Code复制内容到剪贴板
  • <divclass="Main">
  • <divclass="Input_Box">
  • <textareaclass="Input_text"></textarea>
  • <divclass="faceDiv"></div>
  • <divclass="Input_Foot"><aclass="imgBtn"href="javascript:void(0);"></a><aclass="postBtn">确定</a></div>
  • </div>
  • </div>
  •   css3代码:

    CSS Code复制内容到剪贴板
  • .Input_Box{
  • width:495px;
  • height:160px;
  • border:1pxsolid#ccc;
  • transition:borderlinear.2s,box-shadowlinear.5s;
  • -moz-transition:borderlinear.2s,-moz-box-shadowlinear.5s;
  • -webkit-transition:borderlinear.2s,-webkit-box-shadowlinear.5s;
  • -moz-border-radius:5px;
  • -webkit-border-radius:5px;
  • border-radius:5px;
  • background-color:#fff;
  • overflow:hidden;
  • position:absolute;
  • -moz-box-shadow:005px#ccc;
  • -webkit-box-shadow:005px#ccc;
  • box-shadow:005px#ccc;
  • }
  • .Input_Box>textarea{
  • width:485px;
  • height:111px;
  • padding:5px;
  • outline:none;
  • border:0pxsolid#fff;
  • resize:none;
  • font:13px"微软雅黑",Arial,Helvetica,sans-serif;
  • -moz-border-radius:5px;
  • -webkit-border-radius:5px;
  • border-radius:5px;
  • }
  • .Input_Foot{
  • width:100%;
  • height:35px;
  • border-top:1pxsolid#ccc;
  • background-color:#fff;
  • -moz-border-radius:005px5px;
  • -webkit-border-radius:005px5px;
  • border-radius:005px5px;
  • position:absolute;
  • }
  • .imgBtn{
  • float:left;
  • margin-top:8px;
  • margin-left:10px;
  • background-image:url(imgs.png);
  • background-repeat:no-repeat;
  • background-position:0-13px;
  • height:18px;
  • width:20px;
  • cursor:pointer
  • }
  • .imgBtn:active{
  • margin-top:9px;
  • }
  • .imgBtn:hover{
  • background-position:0-31px
  • }
  • .postBtn{
  • float:rightright;
  • font:13px"微软雅黑",Arial,Helvetica,sans-serif;
  • color:#808080;
  • padding:9px20px7px20px;
  • border-left:1pxsolid#ccc;
  • cursor:pointer;
  • -moz-border-radius:005px0;
  • -webkit-border-radius:005px0;
  • border-radius:005px0;
  • }
  • .postBtn:hover{
  • color:#333;
  • background-color:#efefef;
  • }
  • .postBtn:active{
  • padding:10px20px6px20px;
  • }
  • .faceDiv{
  • width:500px;
  • height:120px;
  • border-top:1pxsolid#ccc;
  • position:absolute;
  • background-color:#fff;
  • -moz-border-radius:5px5px00;
  • -webkit-border-radius:5px5px00;
  • border-radius:5px5px00;
  • }
  • .faceDiv>img{
  • border:1pxsolid#ccc;
  • float:left;
  • margin-left:-1px;
  • margin-top:-1px;
  • position:relative;
  • width:24px;
  • height:24px;
  • padding:3px3px3px3px;
  • cursor:pointer;
  • }
  • .faceDiv>img:hover{
  • background-color:#efefef;
  • }
  • .faceDiv>img:active{
  • padding:4px3px2px3px;
  • }
  •   Javascript代码:

    JavaScript Code复制内容到剪贴板
  • varImgIputHandler={
  • facePath:[
  • {faceName:"微笑",facePath:"0_微笑.gif"},
  • {faceName:"撇嘴",facePath:"1_撇嘴.gif"},
  • {faceName:"色",facePath:"2_色.gif"},
  • {faceName:"发呆",facePath:"3_发呆.gif"},
  • {faceName:"得意",facePath:"4_得意.gif"},
  • {faceName:"流泪",facePath:"5_流泪.gif"},
  • {faceName:"害羞",facePath:"6_害羞.gif"},
  • {faceName:"闭嘴",facePath:"7_闭嘴.gif"},
  • {faceName:"大哭",facePath:"9_大哭.gif"},
  • {faceName:"尴尬",facePath:"10_尴尬.gif"},
  • {faceName:"发怒",facePath:"11_发怒.gif"},
  • {faceName:"调皮",facePath:"12_调皮.gif"},
  • {faceName:"龇牙",facePath:"13_龇牙.gif"},
  • {faceName:"惊讶",facePath:"14_惊讶.gif"},
  • {faceName:"难过",facePath:"15_难过.gif"},
  • {faceName:"酷",facePath:"16_酷.gif"},
  • {faceName:"冷汗",facePath:"17_冷汗.gif"},
  • {faceName:"抓狂",facePath:"18_抓狂.gif"},
  • {faceName:"吐",facePath:"19_吐.gif"},
  • {faceName:"偷笑",facePath:"20_偷笑.gif"},
  • {faceName:"可爱",facePath:"21_可爱.gif"},
  • {faceName:"白眼",facePath:"22_白眼.gif"},
  • {faceName:"傲慢",facePath:"23_傲慢.gif"},
  • {faceName:"饥饿",facePath:"24_饥饿.gif"},
  • {faceName:"困",facePath:"25_困.gif"},
  • {faceName:"惊恐",facePath:"26_惊恐.gif"},
  • {faceName:"流汗",facePath:"27_流汗.gif"},
  • {faceName:"憨笑",facePath:"28_憨笑.gif"},
  • {faceName:"大兵",facePath:"29_大兵.gif"},
  • {faceName:"奋斗",facePath:"30_奋斗.gif"},
  • {faceName:"咒骂",facePath:"31_咒骂.gif"},
  • {faceName:"疑问",facePath:"32_疑问.gif"},
  • {faceName:"嘘",facePath:"33_嘘.gif"},
  • {faceName:"晕",facePath:"34_晕.gif"},
  • {faceName:"折磨",facePath:"35_折磨.gif"},
  • {faceName:"衰",facePath:"36_衰.gif"},
  • {faceName:"骷髅",facePath:"37_骷髅.gif"},
  • {faceName:"敲打",facePath:"38_敲打.gif"},
  • {faceName:"再见",facePath:"39_再见.gif"},
  • {faceName:"擦汗",facePath:"40_擦汗.gif"},
  • {faceName:"抠鼻",facePath:"41_抠鼻.gif"},
  • {faceName:"鼓掌",facePath:"42_鼓掌.gif"},
  • {faceName:"糗大了",facePath:"43_糗大了.gif"},
  • {faceName:"坏笑",facePath:"44_坏笑.gif"},
  • {faceName:"左哼哼",facePath:"45_左哼哼.gif"},
  • {faceName:"右哼哼",facePath:"46_右哼哼.gif"},
  • {faceName:"哈欠",facePath:"47_哈欠.gif"},
  • {faceName:"鄙视",facePath:"48_鄙视.gif"},
  • {faceName:"委屈",facePath:"49_委屈.gif"},
  • {faceName:"快哭了",facePath:"50_快哭了.gif"},
  • {faceName:"阴险",facePath:"51_阴险.gif"},
  • {faceName:"亲亲",facePath:"52_亲亲.gif"},
  • {faceName:"吓",facePath:"53_吓.gif"},
  • {faceName:"可怜",facePath:"54_可怜.gif"},
  • {faceName:"菜刀",facePath:"55_菜刀.gif"},
  • {faceName:"西瓜",facePath:"56_西瓜.gif"},
  • {faceName:"啤酒",facePath:"57_啤酒.gif"},
  • {faceName:"篮球",facePath:"58_篮球.gif"},
  • {faceName:"乒乓",facePath:"59_乒乓.gif"},
  • {faceName:"拥抱",facePath:"78_拥抱.gif"},
  • {faceName:"握手",facePath:"81_握手.gif"},
  • {faceName:"得意地笑",facePath:"得意地笑.gif"},
  • {faceName:"听音乐",facePath:"听音乐.gif"}
  • ]
  • ,
  • Init:function(){
  • varisShowImg=false;
  • $(".Input_text").focusout(function(){
  • $(this).parent().css("border-color","#cccccc");
  • $(this).parent().css("box-shadow","none");
  • $(this).parent().css("-moz-box-shadow","none");
  • $(this).parent().css("-webkit-box-shadow","none");
  • });
  • $(".Input_text").focus(function(){
  • $(this).parent().css("border-color","rgba(19,105,172,.75)");
  • $(this).parent().css("box-shadow","003pxrgba(19,105,192,.5)");
  • $(this).parent().css("-moz-box-shadow","003pxrgba(241,39,232,.5)");
  • $(this).parent().css("-webkit-box-shadow","003pxrgba(19,105,252,3)");
  • });
  • $(".imgBtn").click(function(){
  • if(isShowImg==false){
  • isShowImg=true;
  • $(this).parent().prev().animate({marginTop:"-125px"},300);
  • if($(".faceDiv").children().length==0){
  • for(vari=0;i<ImgIputHandler.facePath.length;i){
  • $(".faceDiv").append("<imgtitle=\""ImgIputHandler.facePath[i].faceName"\"src=\"face/"ImgIputHandler.facePath[i].facePath"\"/>");
  • }
  • $(".faceDiv>img").click(function(){
  • isShowImg=false;
  • $(this).parent().animate({marginTop:"0px"},300);
  • ImgIputHandler.insertAtCursor($(".Input_text")[0],"["$(this).attr("title")"]");
  • });
  • }
  • }else{
  • isShowImg=false;
  • $(this).parent().prev().animate({marginTop:"0px"},300);
  • }
  • });
  • $(".postBtn").click(function(){
  • alert($(".Input_text").val());
  • });
  • },
  • insertAtCursor:function(myField,myValue){
  • if(document.selection){
  • myField.focus();
  • sel=document.selection.createRange();
  • sel.text=myValue;
  • sel.select();
  • }elseif(myField.selectionStart||myField.selectionStart=="0"){
  • varstartPos=myField.selectionStart;
  • varendPos=myField.selectionEnd;
  • varrestoreTop=myField.scrollTop;
  • myField.value=myField.value.substring(0,startPos)myValuemyField.value.substring(endPos,myField.value.length);
  • if(restoreTop>0){
  • myField.scrollTop=restoreTop;
  • }
  • myField.focus();
  • myField.selectionStart=startPosmyValue.length;
  • myField.selectionEnd=startPosmyValue.length;
  • }else{
  • myField.value=myValue;
  • myField.focus();
  • }
  • }
  • }
  • 声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章