Maison >interface Web >tutoriel HTML >Tutoriel sur la création d'une zone de commentaire avec des émoticônes en utilisant la production de pages HTML et CSS_HTML/Xhtml_Web

Tutoriel sur la création d'une zone de commentaire avec des émoticônes en utilisant la production de pages HTML et CSS_HTML/Xhtml_Web

WBOY
WBOYoriginal
2016-05-16 16:36:452284parcourir

Zone de commentaire HTML avec émoticônes. Les émoticônes sont chargées via les données Json et vous pouvez modifier les émoticônes selon vos propres préférences. Le code de cette zone de commentaire est du code HTML, CSS et JQ. La figure 1 montre l'état d'origine et la figure 2 montre la liste des expressions qui apparaît lorsque vous cliquez sur l'expression. Vous pouvez en sélectionner une ou plusieurs à volonté. Jetons un coup d'œil au code implémenté.

Photo 1

Photo 2

Code implémenté :

 code html :

Code XML/HTMLCopier le contenu dans le presse-papiers
  1. <div classe="Principal" > 
  2.  <div class="Input_Box" > 
  3.  <textarea class="Input_text" >textarea> 
  4.  <div classe="faceDiv" > div> 
  5.  <div class="Input_Foot" > <une classe="imgBtn" href="javascript:void(0);"> ;a><a classe="postBtn">OKa > div>
  6.  
  7. div> 
  8.  
  9. div> 
 
code css3 :

Code CSS
Copier le contenu dans le presse-papiers
  1. .Input_Box {     
  2.     largeur : 495px ;     
  3.     hauteur : 160px ;     
  4.     bordure : 1px solide #ccc;     
  5.     transition : bordure linéaire .2s, box-shadow linéaire .5s ;     
  6.     -moz-transition : frontière linéaire .2s, -moz-box-shadow linéaire .5s ;     
  7.     -webkit-transition : frontière linéaire .2s, -webkit-box-shadow linéaire .5s ;     
  8.     -moz-bordure-rayon : 5px;     
  9.     -webkit-bordure-rayon : 5px ;     
  10.     bordure-rayon : 5px ;     
  11.     couleur de fond : #fff ;     
  12.     débordement : caché ;     
  13.     position : absolue ;     
  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.     largeur : 485px ;     
  20.     hauteur : 111px ;     
  21.     rembourrage : 5px ;     
  22.     contour : aucun ;     
  23.     bordure : 0px solide #fff;     
  24.     redimensionner : aucun ;     
  25.     police : 13px "微软雅黑"ArialHelveticasans-serif;     
  26.     -moz-bordure-rayon : 5px;     
  27.     -webkit-bordure-rayon : 5px ;     
  28.     bordure-rayon : 5px ;     
  29. }     
  30. .Input_Foot {     
  31.     largeur : 100 % ;     
  32.     hauteur : 35px ;     
  33.     bordure-haut : 1px solide #ccc;     
  34.     couleur de fond : #fff ;     
  35.     -moz-bordure-radius : 0 0 5px 5px ;     
  36.     -webkit-bordure-radius : 0 0 5px 5px ;     
  37.     bordure-rayon : 0 0 5px 5px ;     
  38.     position : absolue ;     
  39. }     
  40. .imgBtn {     
  41.     flotteur : gauche ;     
  42.     marge supérieure : 8px ;     
  43.     marge gauche : 10px ;     
  44.     image d'arrière-plan : url(imgs.png);     
  45.     répétition d'arrière-plan : pas de répétition ;     
  46.     position d'arrière-plan : 0 -13px ;     
  47.     hauteur : 18px ;     
  48.     largeur : 20px ;     
  49.     curseur : pointeur     
  50. }     
  51. .imgBtn:active {     
  52.     marge supérieure : 9px ;     
  53. }     
  54. .imgBtn:hover {     
  55.     position d'arrière-plan : 0 -31px     
  56. }     
  57. .postBtn {     
  58.     flotteur : droitedroite ;     
  59.     police : 13px "微软雅黑"ArialHelveticasans-serif;     
  60.     couleur : #808080 ;     
  61.     rembourrage : 9px 20px 7px 20px;     
  62.     bordure-gauche : 1px solide #ccc;     
  63.     curseur : pointeur ;     
  64.     -moz-bordure-radius : 0 0 5px 0 ;     
  65.     -webkit-bordure-radius : 0 0 5px 0 ;     
  66.     bordure-rayon : 0 0 5px 0 ;     
  67. }     
  68. .postBtn:hover {     
  69.     couleur : #333 ;     
  70.     couleur de fond : #efefef;     
  71. }     
  72. .postBtn:active {     
  73.     rembourrage : 10px 20px 6px 20px;     
  74. }     
  75. .faceDiv {     
  76.     largeur : 500px ;     
  77.     hauteur : 120px ;     
  78.     bordure-haut : 1px solide #ccc;     
  79.     position : absolue ;     
  80.     couleur de fond : #fff ;     
  81.     -moz-bordure-radius : 5px 5px 0 0 ;     
  82.     -webkit-bordure-rayon : 5px 5px 0 0 ;     
  83.     bordure-rayon : 5px 5px 0 0 ;     
  84. }     
  85. .faceDiv>img {     
  86.     bordure : 1px solide #ccc;     
  87.     flotteur : gauche ;     
  88.     marge gauche : -1px ;     
  89.     marge supérieure : -1px ;     
  90.     position : relative ;     
  91.     largeur : 24px ;     
  92.     hauteur : 24px ;     
  93.     rembourrage : 3px 3px 3px 3px;     
  94.     curseur : pointeur ;     
  95. }     
  96. .faceDiv>img:hover { 
  97.  couleur de fond : #efefef
  98. .faceDiv>img:active { 
  99. rembourrage : 4px 3px 2px 3px;
 
Code Javascript :

Code JavaScript
Copier le contenu dans le presse-papiers
  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"},  {FACENAME : "Larmes"
  9. , FacePath :
  10. "5_ 泪 泪 .gif" }, {faceName:"timide"
  11. ,facePath:
  12. "6_shy.gif"},  {faceName:"Tais-toi"
  13. , facePath:
  14. "7_Shut up.gif"}, {faceName:"pleurer"
  15. , facePath:
  16. "9_crying.gif"}, {faceName:"Gênant"
  17. ,facePath:
  18. "10_awkward.gif"},  {faceName:"en colère"
  19. ,facePath:
  20. "11_angry.gif"},  {FACENAME : "Vilain" , FacePath :
  21. "12_ 皮 .gif" }, {faceName:"Barteeth",facePath:
  22. "13_Bargain.gif"}, {faceName:"surprise",facePath:
  23. "14_surprise.gif"},  {faceName:"triste",facePath:
  24. "15_sad.gif"},  {faceName:"Cool",facePath:
  25. "16_cool.gif"},  {faceName:"Sueur froide",facePath:
  26. "17_Sueur froide.gif"}, > {faceName:"Crazy",facePath:
  27. "18_Crazy.gif"
  28. }, 
  29. {faceName:"vomit",facePath:"19_vomit.gif"}, 
  30. {FACENAME : "Souriant" , FacePath : "20_linking .gif" },
  31. {faceName:"mignon",facePath:"21_cute.gif"}, 
  32. {faceName:"Yeux blancs",facePath:"22_Yeux blancs.gif"}, 
  33. {faceName:"arrogance",facePath:"23_arrogance.gif"}, 
  34. {faceName:"faim",facePath:"24_hunger.gif"}, 
  35. {faceName:"trapped",facePath:"25_trapped.gif"}, 
  36. {faceName:"Horreur",facePath:"26_Horror.gif"}, 
  37. {faceName:"sueur", facePath:"27_sweat.gif"},
  38. {FACENAME :
  39. "憨" , facepath : "28_ 憨 笑 .gif" },
  40. {faceName:
  41. "GI",facePath:"29_GI.gif"}, 
  42. {faceName:
  43. "struggle",facePath:"30_struggle.gif"}, 
  44. {faceName:
  45. "cuss",facePath:"31_curse.gif"}, 
  46. {faceName:
  47. "question",facePath:"32_question.gif"}, 
  48. {faceName:
  49. "Sh",facePath:"33_boo.gif"}, 
  50. {faceName:
  51. "halo",facePath:"34_halo.gif"}, 
  52. {faceName:
  53. "torture",facePath:"35_torture.gif"},  {FACENAME :
  54. "décliner" , FacePath : "36_ 衰 .gif" }, {faceName :
  55. "Squelette",facePath :"37_skeleton.gif"}, 
  56. {FACENAME : "Appuyez" , Facepath : "38_ hit .gif" },
  57. {faceName:"Au revoir",facePath:"39_Goodbye.gif"}, 
  58. {faceName:"wipe sweat", facePath:"40_wipe sweat.gif"},
  59.                                             {faceName:
  60. "se curer le nez", facePath:"41_se curer le nez.gif"}, {faceName:
  61. "Applaudissements",facePath:"42_Applause.gif"},  {faceName:
  62. "Je suis tellement gêné", facePath:"43_Je suis gêné.gif" },  {faceName:
  63. "mauvais sourire", facePath:"44_bad smile.gif"}, {faceName:
  64. "Zuo Hengheng", facePath:"45_left Hengheng.gif" },                                                                                                             { faceName :
  65. "Right Heng Heng", facePath :"46_Right Heng Heng.gif" }, {faceName:
  66. "Bâillement",facePath:"47_yawn.gif"},  {faceName:
  67. "Mépris",facePath:"48_Contempt.gif"},  {faceName:
  68. "Deuil",facePath:"49_Grief.gif"},  {faceName:
  69. "Je suis sur le point de pleurer", facePath:"50_Je suis sur le point de pleurer.gif" },  {faceName:
  70. "insidious",facePath:"51_insidious.gif"},  {faceName:
  71. "Kiss", facePath:"52_Kiss.gif"}, {FACENAME :
  72. "Peur"
  73. , Facepath : "53_ <.gif> }, {faceName:
  74. "Pauvre"
  75. ,facePath:"54_Poor.gif"},  {faceName:
  76. "Chop Knife"
  77. ,facePath:"55_Chop Knife.gif"},  {faceName:
  78. "Pastèque"
  79. ,facePath:"56_watermelon.gif"}, 
  80. {faceName:"Bière",facePath:"57_beer.gif"}, 
  81. {faceName:"Basketball",facePath:"58_basketball.gif"}, 
  82. {faceName:"pingpong",facePath:"59_pingpong.gif"}, 
  83. {faceName:"Câlin",facePath:"78_hug.gif"}, 
  84. {faceName:"Handshake",facePath:"81_Handshake.gif"}, 
  85. {faceName:"sourire suffisant", facePath:"sourire suffisant.gif"},
  86. {faceName:"Écouter de la musique",facePath:"Écouter de la musique.gif"
  87. ]
  88. , ,
  89. Init :fonction(){
  90.  var isShowImg=false
  91. $(".Input_text").focusout(fonction(){
  92. $(this).parent().css("border-color", "#cccccc");
  93. $(
  94. this).parent().css("box-shadow", "aucun"); 
  95. $(
  96. this).parent().css("-moz-box-shadow", "aucun"); $(
  97. ce
  98. ).parent().css("-webkit-box-shadow", "aucun"); });     
  99.         $().Input_text").focus(fonction(){     
  100.         $(this).parent().css("border-color" "rgba(19,105,172,.75)");     
  101.         $(this).parent().css("box-shadow" "0 0 3px rgba(19,105,192,.5)");     
  102.         $(this).parent().css("-moz-box-shadow", "0 0 3px rgba(241,39,232,.5)");     
  103.         $(this).parent().css("-webkit-box-shadow", "0 0 3px rgba(19,105,252,3)");     
  104.         });     
  105.         $(".imgBtn").cliquez(fonction(){     
  106.             if(isShowImg==false){     
  107.                 isShowImg=true;     
  108.                 $(this).parent().prev().animate({marginTop:"-125px"},300);     
  109.                 if($(".faceDiv").children().length==0){
  110.                     pour(var i=0;i
  111.                         $(".faceDiv").append(" ImgIputHandler. facePath[i].faceName "" src="face/" ImgIputHandler.facePath[i].facePath "" />");     
  112.                     }     
  113.                     $(".faceDiv>img").click(fonction(){     
  114.                               
  115.                         isShowImg=false;     
  116.                         $(this).parent().animate({marginTop:"0px"},300 );     
  117.                         ImgIputHandler.insertAtCursor($(".Input_text")[0],"[" $( ce).attr("titre""]");     
  118.                     } );     
  119.                 }     
  120.             }autre{     
  121.                 isShowImg=false;     
  122.                 $(this).parent().prev().animate({marginTop:"0px"},300 );     
  123.             }     
  124.         });     
  125.         $().postBtn").click(fonction(){     
  126.             alerte($().Input_text").val());     
  127.         });     
  128.     },     
  129.     insertAtCursor :fonction(myField, myValue) {     
  130.     si (document.selection) {     
  131.         myField.focus();     
  132.         sel = document.selection.createRange();     
  133.         sel.text = myValue ;     
  134.         sel.select();     
  135.     } else if (myField.selectionStart || myField.selectionStart == "0") {     
  136.         var startPos = myField.selectionStart;     
  137.         var endPos = myField.selectionEnd;     
  138.         var restoreTop = myField.scrollTop;     
  139.         myField.value = myField.value.substring(0, startPos)   myValue   myField.value.substring(endPos, myField.value.length);     
  140.         if (restoreTop > 0) {     
  141.             myField.scrollTop = restoreTop ;     
  142.         }     
  143.         myField.focus();     
  144.         myField.selectionStart = startPos   myValue.length;     
  145.         myField.selectionEnd = startPos   myValue.length;     
  146.     } autre {     
  147.         myField.value  = myValue ;     
  148.         myField.focus();     
  149.     }     
  150. }     
  151. }    
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn