Heim  >  Artikel  >  Web-Frontend  >  Tutorial zum Erstellen eines Kommentarfelds mit Emoticons mithilfe von HTML und CSS_HTML/Xhtml_Webseitenproduktion

Tutorial zum Erstellen eines Kommentarfelds mit Emoticons mithilfe von HTML und CSS_HTML/Xhtml_Webseitenproduktion

WBOY
WBOYOriginal
2016-05-16 16:36:452255Durchsuche

HTML-Kommentarfeld mit Emoticons. Die Emoticons werden über Json-Daten geladen, und Sie können die Emoticons nach Ihren eigenen Vorlieben ändern. Der Code dieses Kommentarfelds ist HTML-, CSS- und JQ-Code. Abbildung 1 zeigt den Originalzustand und Abbildung 2 zeigt die Liste der Ausdrücke, die angezeigt wird, wenn Sie auf den Ausdruck klicken. Sie können nach Belieben einen oder mehrere auswählen. Werfen wir einen Blick auf den implementierten Code.

Bild 1

Bild 2

Implementierter Code:

 HTML-Code:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. <div class="Main" > 
  2.  <div class="Input_Box" > 
  3.  <textarea class="Input_text" >textarea> 
  4.  <div class="faceDiv" > div>
  5.  
  6. <div class="Input_Foot" > <a Klasse="imgBtn" href="javascript:void(0);"> ;a><a Klasse="postBtn">OKa > div>  
  7. div>   div>   
CSS3-Code:

CSS-Code

Inhalt in die Zwischenablage kopieren
  1. .Input_Box {     
  2.     Breite495px;     
  3.     Höhe160px;     
  4.     Rahmen1px durchgehend #ccc;     
  5.     Übergang: Grenze linear .2s, box-shadow linear .5s;     
  6.     -moz-transition: border linear .2s, -moz-box-shadow linear .5s;     
  7.     -webkit-transition: border linear .2s, -webkit-box-shadow linear .5s;     
  8.     -moz-border-radius: 5px;     
  9.     -webkit-border-radius: 5px;     
  10.     Rahmen-Radius: 5px;     
  11.     Hintergrundfarbe#fff;     
  12.     Überlaufversteckt;     
  13.     Positionabsolut;     
  14.     -moz-box-shadow: 0 0 5px #ccc;     
  15.     -webkit-box-shadow: 0 0 5px #ccc;     
  16.     box-shadow: 0 0 5px #ccc;     
  17. }     
  18. .Input_Box>textarea {     
  19.     Breite485px;     
  20.     Höhe111px;     
  21.     Auffüllung5px;     
  22.     Umrisskeine;     
  23.     Rahmen0px durchgehend #fff;     
  24.     Größe ändern: keine;     
  25.     Schriftart13px "微软雅黑"ArialHelveticaSans-Serif;     
  26.     -moz-border-radius: 5px;     
  27.     -webkit-border-radius: 5px;     
  28.     Rahmen-Radius: 5px;     
  29. }     
  30. .Input_Foot {     
  31.     Breite: 100 %;     
  32.     Höhe35px;     
  33.     Rand oben1px durchgehend #ccc;     
  34.     Hintergrundfarbe#fff;     
  35.     -moz-border-radius: 0 0 5px 5px ;     
  36.     -webkit-border-radius: 0 0 5px 5px ;     
  37.     Rahmen-Radius: 0 0 5px 5px ;     
  38.     Positionabsolut;     
  39. }     
  40. .imgBtn {     
  41.     schwebenlinks;     
  42.     Rand oben8px;     
  43.     Rand links10px;     
  44.     HintergrundbildURL(imgs.png);     
  45.     Hintergrundwiederholungkeine Wiederholung;     
  46.     Hintergrundposition: 0 -13px;     
  47.     Höhe18px;     
  48.     Breite20px;     
  49.     CursorZeiger     
  50. }     
  51. .imgBtn:active {     
  52.     Rand oben9px;     
  53. }     
  54. .imgBtn:hover {     
  55.     Hintergrundposition: 0 -31px     
  56. }     
  57. .postBtn {     
  58.     floatrechtsrechts;     
  59.     Schriftart13px "微软雅黑"ArialHelveticaSans-Serif;     
  60.     Farbe#808080;     
  61.     Auffüllung9px 20px 7px 20px;     
  62.     Rand links1px durchgehend #ccc;     
  63.     CursorZeiger;     
  64.     -moz-border-radius: 0 0 5px 0;     
  65.     -webkit-border-radius: 0 0 5px 0;     
  66.     Rahmen-Radius: 0 0 5px 0;     
  67. }     
  68. .postBtn:hover {     
  69.     Farbe#333;     
  70.     Hintergrundfarbe#efefef;     
  71. }     
  72. .postBtn:active {     
  73.     Auffüllung10px 20px 6px 20px;     
  74. }     
  75. .faceDiv {     
  76.     Breite500px;     
  77.     Höhe120px;     
  78.     Rand oben1px durchgehend #ccc;     
  79.     Positionabsolut;     
  80.     Hintergrundfarbe#fff;     
  81.     -moz-border-radius: 5px 5px 0 0;     
  82.     -webkit-border-radius: 5px 5px 0 0;     
  83.     Rahmen-Radius: 5px 5px 0 0 ;     
  84. }     
  85. .faceDiv>img {     
  86.     Rahmen1px durchgehend #ccc;     
  87.     schwebenlinks;     
  88.     Rand links: -1px;     
  89.     Rand oben: -1px;     
  90.     Positionrelativ;     
  91.     Breite24px;     
  92.     Höhe24px;     
  93.     Auffüllung3px 3px 3px 3px;     
  94.     CursorZeiger;     
  95. }     
  96. .faceDiv>img:hover { 
  97.  Hintergrundfarbe: #efefef
  98. .faceDiv>img:active { 
  99. Auffüllung: 4px 3px 2px 3px;
 
Javascript-Code:

JavaScript-Code
Inhalt in die Zwischenablage kopieren
  1. var ImgIputHandler={ 
  2. facePath:[
  3. {faceName:"smile",facePath:"0_smile.gif"}, 
  4. {FACENAME: "🎜> , Facepath: " 1_ 撇 撇 .gif " > {faceName:
  5. "色"
  6. ,facePath:"2_色.gif"},  {FACENAME: „Duke“
  7. , Facepath: „3_ Duke .gif“ }, {faceName:"Deyi"
  8. ,facePath:"4_Deyi.gif"},                                                                                                                         >
  9. {faceName:
  10. "shy",facePath:"6_shy.gif"}, 
  11. {faceName:
  12. "Shut up", facePath:"7_Shut up.gif"},
  13. {faceName:
  14. "crying", facePath:"9_crying.gif"},
  15. {faceName:
  16. "Awkward",facePath:"10_awkward.gif"}, 
  17. {faceName:
  18. "angry",facePath:"11_angry.gif"},  {FACENAME:
  19. „Naughty“ , FacePath: „12_ 皮 .gif“ }, {faceName:
  20. "Barteeth",facePath:"13_Bargain.gif"}, {faceName:
  21. "surprise",facePath:"14_surprise.gif"},  {faceName:
  22. "sad",facePath:"15_sad.gif"},  {faceName:
  23. "Cool",facePath:"16_cool.gif"},  {faceName:
  24. "Cold Sweat",facePath:"17_Cold Sweat.gif"}, > {faceName:
  25. "Crazy"
  26. ,facePath:"18_Crazy.gif"}, 
  27. {faceName:"vomit",facePath:"19_vomit.gif"}, 
  28. {FACENAME: „Smiling“ , FacePath: „20_linking .gif“ },
  29. {faceName:"cute",facePath:"21_cute.gif"}, 
  30. {faceName:"White Eyes",facePath:"22_White Eyes.gif"}, 
  31. {faceName:"arrogance",facePath:"23_arrogance.gif"}, 
  32. {faceName:"hunger",facePath:"24_hunger.gif"}, 
  33. {faceName:"trapped",facePath:"25_trapped.gif"}, 
  34. {faceName:"Horror",facePath:"26_Horror.gif"}, 
  35. {faceName:"sweat", facePath:"27_sweat.gif"},
  36. {FACENAME:
  37. "憨" , facepath: "28_ 憨 笑 .gif" },
  38. {faceName:
  39. "GI",facePath:"29_GI.gif"}, 
  40. {faceName:
  41. "struggle",facePath:"30_struggle.gif"}, 
  42. {faceName:
  43. "cuss",facePath:"31_curse.gif"}, 
  44. {faceName:
  45. "question",facePath:"32_question.gif"}, 
  46. {faceName:
  47. "Sh",facePath:"33_boo.gif"}, 
  48. {faceName:
  49. "halo",facePath:"34_halo.gif"}, 
  50. {faceName:
  51. "folter",facePath:"35_torture.gif"}, 
  52.                                                                                                                                                                                                                               ​>
  53. {faceName:"Skeleton",facePath:"37_skeleton.gif"}, 
  54. {FACENAME: „Tap“ , Facepath: „38_ hit .gif“ },
  55. {faceName:"Goodbye",facePath:"39_Goodbye.gif"}, 
  56. {faceName:"wipe Sweat", facePath:"40_wipe Sweat.gif"},
  57.                                             {faceName:
  58. "picking your Nose", facePath:"41_picking your Nose.gif"}, {faceName:
  59. "Applause",facePath:"42_Applause.gif"},  {faceName:
  60. "Es ist mir so peinlich", facePath:"43_Es ist mir peinlich.gif" },  {faceName:
  61. "bad smile", facePath:"44_bad smile.gif"}, {faceName:
  62. "Zuo Hengheng", facePath:"45_left Hengheng.gif" },                                                                                                     {faceName:
  63. "Right Heng Heng", facePath:"46_Right Heng Heng.gif" }, {faceName:
  64. "Yawn",facePath:"47_yawn.gif"},  {faceName:
  65. "Contempt",facePath:"48_Contempt.gif"},  {faceName:
  66. "Grief",facePath:"49_Grief.gif"},  {faceName:
  67. "Ich werde gleich weinen", facePath:"50_Ich werde gleich weinen.gif" },  {faceName:
  68. "insidious",facePath:"51_insidious.gif"},  {faceName:
  69. "Kiss", facePath:"52_Kiss.gif"}, {FACENAME:
  70. „Scared“
  71. , Facepath: „53_ <.gif> }, {faceName:
  72. "Poor"
  73. ,facePath:"54_Poor.gif"},  {faceName:
  74. "Chop Knife"
  75. ,facePath:"55_Chop Knife.gif"},  {faceName:
  76. "Watermelon"
  77. ,facePath:"56_watermelon.gif"}, 
  78. {faceName:"Beer",facePath:"57_beer.gif"}, 
  79. {faceName:"Basketball",facePath:"58_basketball.gif"}, 
  80. {faceName:"pingpong",facePath:"59_pingpong.gif"}, 
  81. {faceName:"Hug",facePath:"78_hug.gif"}, 
  82. {faceName:"Handshake",facePath:"81_Handshake.gif"}, 
  83. {faceName:"smiling smugly", facePath:"smiling smugly.gif"},
  84. {faceName:"Musik hören",facePath:"Musik hören.gif"
  85. ]
  86. , ,
  87. Init:Funktion(){
  88.  var isShowImg=false
  89. $(".Input_text").focusout(function(){
  90. $(this).parent().css("border-color", "#cccccc");
  91. $(
  92. this).parent().css("box-shadow", "keine"); 
  93. $(
  94. this).parent().css("-moz-box-shadow", "keine"); $(
  95. this
  96. ).parent().css("-webkit-box-shadow", "keine"); });     
  97.         $(".Input_text").focus(function(){     
  98.         $(this).parent().css("border-color" "rgba(19,105,172,.75)");     
  99.         $(this).parent().css("box-shadow" "0 0 3px rgba(19,105,192,.5)");     
  100.         $(this).parent().css("-moz-box-shadow", "0 0 3px rgba(241,39,232,.5)");     
  101.         $(this).parent().css("-webkit-box-shadow", "0 0 3px rgba(19,105,252,3)");     
  102.         });     
  103.         $(".imgBtn").click(function(){     
  104.             if(isShowImg==false){     
  105.                 isShowImg=true;     
  106.                 $(this).parent().prev().animate({marginTop:"-125px"},300);     
  107.                                      >                         $(".faceDiv"
  108. ).append(" ImgIputHandler. facePath[i].faceName "" src="face/" ImgIputHandler.facePath[i].facePath "" />"
  109. );                          }     
  110.                     $(".faceDiv>img").click(function(){     
  111.                               
  112.                         isShowImg=false;     
  113.                         $(this).parent().animate({marginTop:"0px"},300 );     
  114.                         ImgIputHandler.insertAtCursor($(".Input_text")[0],"[" $( dieses).attr("title""]");     
  115.                     });     
  116.                 }     
  117.             }sonst{     
  118.                 isShowImg=false;     
  119.                 $(this).parent().prev().animate({marginTop:"0px"},300);     
  120.             }     
  121.         });     
  122.         $(.postBtn").click(function(){     
  123.             alert($(".Input_text").val());     
  124.         });     
  125.     },     
  126.     insertAtCursor:function(myField, myValue) {     
  127.     if (document.selection) {     
  128.         myField.focus();     
  129.         sel = document.selection.createRange();     
  130.         sel.text = myValue;     
  131.         sel.select();     
  132.     } else if (myField.selectionStart || myField.selectionStart == "0") {     
  133.         var startPos = myField.selectionStart;     
  134.         var endPos = myField.selectionEnd;     
  135.         var restoreTop = myField.scrollTop;     
  136.         myField.value = myField.value.substring(0, startPos)   myValue   myField.value.substring(endPos, myField.value.length);     
  137.         if (restoreTop > 0) {     
  138.             myField.scrollTop = restoreTop;     
  139.         }     
  140.         myField.focus();     
  141.         myField.selectionStart = startPos   myValue.length;     
  142.         myField.selectionEnd = startPos   myValue.length;     
  143.     } else {     
  144.         myField.value  = myValue;     
  145.         myField.focus();     
  146.     }     
  147. }     
  148. }    
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn