jquery添加div實(shí)現(xiàn)消息聊天框
更新時(shí)間:2020年02月08日 13:11:00 作者:代碼搬運(yùn)工233
這篇文章主要為大家詳細(xì)介紹了jquery添加div實(shí)現(xiàn)消息聊天框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了jquery添加div實(shí)現(xiàn)消息聊天框的具體代碼,供大家參考,具體內(nèi)容如下
上代碼
<html> <head> <style> * { margin: 0; padding: 0; } .border { margin-left: 300px; width: 900px; background-color: white; position: relative; border: 1px solid rgb(221, 221, 221); } .border .border-next { background-color: #dcad50; position: relative; height: 23px; line-height: 40px; display: flex; padding: 10px 60px 10px 80px; } .border-next .people { background-color: #dcad50; font-size: 20px; color: black; font-family: 楷體; margin-left: 300px; } .border .border-second { background-color: white; margin-left: 0px; width: 700px; height: 530px; flex: 1; flex-direction: column; overflow-y: auto; border-right: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); } .border .border-img { background-color: white; margin-left: 0px; width: 700px; height: 30px; border-right: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); } .border-bottom { display: flex; width: 700px; height: 120px; background-color: white; overflow: auto; font-size: 20px; border-style: solid; border-color: #FFFFFF; border-right: 1px solid rgb(221, 221, 221); } .button { display: flex; margin-left: 530px; } .button .shut { background-color: white; width: 70px; height: 30px; font-size: 20px; text-align: center; border: 1px solid rgb(221, 221, 221); } .button .send { background-color: white; margin-left: 15px; width: 70px; height: 30px; font-size: 20px; text-align: center; border: 1px solid rgb(221, 221, 221); background-color: #DBAC50; } .replyChat { display:flex; width: 150px; background: #12B7F5; border-radius: 5px; /* 圓角 */ position: relative; margin-left: 500px; align-content: center; margin-bottom: 30px; } .sendChat { display:flex; width: 150px; background: #E5E5E5; border-radius: 5px; /* 圓角 */ position: relative; margin-left: 50px; align-content: center; margin-bottom: 30px; border-color: white white white #E5E5E5; } .sendChat span { display: inline-block; margin-left: 10px; line-height: 35px; } .replyChat span { display: inline-block; margin-left: 10px; line-height: 35px; } .sendChat .arrows { position: absolute; top: 5px; left: -16px; /* 圓角的位置需要細(xì)心調(diào)試哦 */ width: 0; height: 0; font-size: 0; border: solid 8px; border-color: white #E5E5E5 white white; } .replyChat .arrow { position: absolute; top: 5px; right: -16px; /* 圓角的位置需要細(xì)心調(diào)試哦 */ width: 0; height: 0; font-size: 0; border: solid 8px; border-color: white white white #12B7F5; } .chatTouXiang { width: 50px; height: 50px; border-radius: 50%; background-repeat: no-repeat; background-size: cover; background-position: center; background-image: url(img/tou.png); } .chatCnt{ } </style> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>聊天助手</title> <script src="js/jquery-1.8.3.min.js"></script> <script> window.οnlοad=function(){ $(".arrow").hide(); $(".arrows").hide(); } document.onkeydown = function(e) { if (e.keyCode == 13 && e.ctrlKey) { // 這里實(shí)現(xiàn)換行 document.getElementById("sendContent").value += "\n"; } else if (e.keyCode == 13) { // 避免回車鍵換行 e.preventDefault(); // 下面寫(xiě)你的發(fā)送消息的代碼 f(); } } function f() { var cnt = $("#sendContent").val(); if(cnt == '')alert('內(nèi)容不能為空'); if(cnt != ''){ var node = document.createElement('div'); node.className = 'sendChat'; var span = document.createElement('span'); span.innerHTML = cnt; var arrow = document.createElement('div'); arrow.className = 'arrows'; node.appendChild(span); node.appendChild(arrow); $(".border-second").append($(node)); $("#sendContent").val(''); $.ajax({ data : cnt, type : "post", url : "CharServlet?id=" + cnt, dataType : "json", success : function(msg) { var node = document.createElement('div'); node.className = 'replyChat'; var span = document.createElement('span'); span.innerHTML = msg.text; var arrow = document.createElement('div'); arrow.className = 'arrow'; node.appendChild(arrow); node.appendChild(span); $(".border-second").append($(node)); var boderSecondDiv = $('.border-second'); var lastChild = boderSecondDiv[0].lastChild; var lastChildH = lastChild.offsetTop; var h = 0; for (var i = 0, len = lastChild.children.length; i < len; i++) { h += lastChild.children[i].offsetHeight; } boderSecondDiv[0].scrollTop = lastChildH + h; }, error : function(msg) { alert("請(qǐng)求失敗"); } }); } } </script> </head> <div class="frame"> <div class="border"> <div class="border-next"> <div class="people">聊天助手</div> </div> <div class="border-second"> <div class="chatCnt"> <div class="chatTouXiang"></div> <div class="sendChat"> <span></span> <div class="arrows"></div> </div> </div> <div class="replyChat"> <span></span> <div class="arrow"></div> </div> <br> </div> <div class="border-img"></div> <textarea id="sendContent" class="border-bottom"></textarea> <div class="button"> <button class="shut">關(guān)閉</button> <button id="selectBtn" class="send" onclick="f()">發(fā)送</button> </div> </div> </div> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于 jQuery 實(shí)現(xiàn)鍵盤事件監(jiān)聽(tīng)控件
這篇文章主要介紹了基于 jQuery 的鍵盤事件監(jiān)聽(tīng)控件,需要的朋友可以參考下2019-04-04jquery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)排序Li或Table
這篇文章主要介紹了使用jquery實(shí)現(xiàn)的鼠標(biāo)拖動(dòng)排序Li或Table,需要的朋友可以參考下2014-05-05jquery中實(shí)現(xiàn)標(biāo)簽切換效果的代碼
現(xiàn)在比較流行jquery插件,所以既然用了jquery那么就要用好,也不用大量的寫(xiě)代碼了。2011-03-03基于PHP和Mysql相結(jié)合使用jqGrid讀取數(shù)據(jù)并顯示
jqGrid可以動(dòng)態(tài)讀取和加載外部數(shù)據(jù),本文將結(jié)合PHP和Mysql給大家講解如何使用jqGrid讀取數(shù)據(jù)并顯示,以及可以通過(guò)輸入關(guān)鍵字查詢數(shù)據(jù)的ajax交互過(guò)程2015-12-12jQuery插件AjaxFileUpload實(shí)現(xiàn)ajax文件上傳
這篇文章主要為大家詳細(xì)介紹了jQuery插件AjaxFileUpload實(shí)現(xiàn)ajax文件上傳的相關(guān)資料,需要的朋友可以參考下2016-05-05