I have made a version of the h5 WeChat chat mobile terminal before. During this period of time, I sorted out the previous projects and upgraded them based on the original version. So we have the current h5 imitation WeChat chat high imitation. version, four new ones are added: Wechat, Address Book, Explore, and Me. The module has left and right touch and slide screen switching, the chat page has optimized multi-image preview, video playback, long press menu UI, the editor at the bottom of the chat has been re-optimized and organized (added more emoticons), and the pop-up window uses the self-developed wcPop.js. Specifically Take a look at the project renderings!
html code snippet:
<!-- //Wechat bottom function panel--><div class=wc__footTool-panel> <!-- Input box module--> <div class=wc__editor-panel wc__borT flexbox> <div class=wrap-editor flex1 ><div class=editor J__wcEditor contenteditable=true></div></div> <i class=btn btn-emotion></i> <i class=btn btn-choose></i> <button class=btn-submit J__wchatSubmit>Send</button> </div> <!-- Expression, selection module--> <div class=wc__choose-panel wc__borT style= display: none;> <!-- Expression area--> <div class=wrap-emotion style=display: none;> <div class=emotion__cells flexbox flex__direction-column> <div class=emotion__cells-swiper flex1 id=J__swiperEmotion> <div class=swiper-container> <div class=swiper-wrapper></div> <div class=pagination-emotion></div> < /div> </div> <div class=emotion__cells-footer id=J__emotionFootTab> <ul class=clearfix> <li class=swiperTmpl cur tmpl=swiper__tmpl-emotion01><img src=img/emotion/face01/face-lbl.png <li class=swiperTmpl tmpl=swiper__tmpl-emotion02><img src=img/emotion/ face02/face-lbl.gif <li class=swiperTmpl tmpl=swiper__tmpl-emotion03><img src=img/emotion/face03/face-lbl.gif <li class=swiperTmpl tmpl=swiper__tmpl-emotion04><img src=img/emotion/face04/face-lbl.gif <li class =swiperTmpl tmpl=swiper__tmpl-emotion05><img src=img/emotion/face05/face-lbl.gif <li class=swiperTmpl tmpl=swiper__tmpl-emotion06><img src=img/emotion/face06/face-lbl.gif <li class=swiperTmplSet><img src=img /wchat/icon__emotion-set.png </ul> </div> </div> </div> <!-- Select area--> <div class=wrap-choose style=display: none;> <div class=choose__cells> <ul class=clearfix> <li><a class=J__wchatZp href=javascript :;><span class=img><img src=img/wchat/icon__choose-zp.png /><input type=file accept=image/* /></span><em>Photos</em></a></li> <li><a class=J__wchatSp href=javascript:;><span class=img><img src=img/wchat/ icon__choose-sp.png /><input type=file accept=video/* /></span><em>Video</em></a></li> <li><a class=J__wchatHb href=javascript:;><span class=img><img src=img/wchat/icon__choose-hb.png /></span><em>Red envelope</em></a></li> <li> <a class=J__wchatSc href=javascript:;><span class=img><img src=img/wchat/icon__choose-sc.png /></span><em>My Collection</em></a></li> <li><a class=J__wchatWj href=javascript:;><span class=img><img src=img/ wchat/icon__choose-wj.png /></span><em>File</em></a></li> </ul> </div> </div> </div></div>< div class=wc__choosePanel-tmpl> <!-- //Red envelope template.begin --> <div id=J__popupTmpl-Hongbao style=display:none;> <div class=wc__popupTmpl tmpl-hongbao> <i class=wc-xclose> </i> <ul class=clearfix> <li class=item flexbox> <label class=txt>Total amount</label><input class=ipt-txt flex1 type=tel name=hbAmount placeholder=0.00 /><em class=unit>元</em> </li> <li class=item flexbox> <label class=txt>Number of red envelopes</li> label><input class=ipt-txt flex1 type=tel name=hbNum placeholder=fill in the number/><em class=unit>pieces</em> </li> <li class=tips>The total number of people online is <em class=memNum>186</em></li> <li class=item item-area> <textarea class=describe name=content placeholder=Congratulations on getting rich and good luck></ textarea> </li> <li class=amountTotal>¥<em class=num>0.00</em></li> </ul> </div> </div> <!-- //Red envelope template.end --></div>
Js code snippet:
// ...long press pop-up menu $(#J__chatMsgList).on(longTap, li .msg, function(e){ var that = $(this), menuTpl, menuNode = $(<div class='wc__chatTapMenu animated anim -fadeIn'></div>); that.addClass(taped); that.parents(li).siblings().find(.msg).removeClass(taped); var isRevoke = that.parents(li).hasClass(me); var _revoke = isRevoke ? <a href='#'> <i class='ico i4'></i>Withdraw</a> : ; if(that.hasClass(picture)){ console.log(picture long press); menuTpl = <div class='menu menu-picture'><a href='#'><i class='ico i1'></i>Copy</a><a href='#'><i class=' ico i2'></i>Collect</a><a href='#'><i class='ico i3'></i>Save as</a>+ _revoke +<a href='#' ><i class='ico i5'></i>Delete</a></div>; }else if(that.hasClass(video)){ console.log(video long press); menuTpl = <div class='menu menu-video' ><a href='#'><i class='ico i3'></i>Save as</a> + _revoke +<a href='#'><i class='ico i5'></i>Delete</a></div>; }else{ console.log(text long press); menuTpl = <div class='menu menu-text'><a href='#'> <i class='ico i1'></i>Copy</a><a href='#'><i class='ico i2'></i>Collect</a> + _revoke +<a href ='#'><i class='ico i5'></i>Delete</a></div>; } if(!$(.wc__chatTapMenu).length){ $(.wc__chatMsg-panel).append(menuNode.html(menuTpl) ); autoPos(); }else{ $(.wc__chatTapMenu).hide().html(menuTpl).fadeIn(250); autoPos(); } function autoPos(){ console.log(that.position().top) var _other = that.parents(li ).hasClass(others); $(.wc__chatTapMenu).css({ position: absolute, left: that.position().left + parseInt(that.css(marginLeft)) + (_other ? 0 : that.outerWidth() - $(.wc__chatTapMenu).outerWidth()), top: that.position().top - $(.wc__chatTapMenu).outerHeight( ) - 8 }); }});Rendering:
SummarizeThe above is the HTML5 high imitation WeChat chat and WeChat chat emoticon | dialog box | editor function introduced by the editor. I hope it will be helpful to you. If you have any questions, please leave me a message and the editor will reply to you in time. of. I would also like to thank everyone for your support of the VeVb martial arts website!