JS 모방 채팅 페이지
JS채팅 인터페이스, 소스 코드는 무료로 제공됩니다. JS에 관심이 있는 친구가 공부할 수 있습니다. 이것은 여전히 JS지식에 매우 도움이 됩니다~
코드:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PHP中文网</title> <style> *{ margin: 0; padding: 0; box-sizing: border-box; } /*chrome下能隐藏滚动条*/ ::-webkit-scrollbar{ display: none; } @keyframes text { 0% { top:50px; opacity: 0; } 100%{ top: 0; opacity: 1; } } body{ background-color: #e1e1e1; } .container{ position: relative; height: 700px; width: 400px; margin: 50px auto; background-color: #f0f0f0; border-radius: 6px; overflow: hidden; } .main{ overflow: auto; border-bottom: 60px solid #fff; padding: 20px 10px; width: 100%; height: 100%; } /*这个伪元素解决不同浏览器padding裁剪内容不一致的问题!!*/ .main:after{ display: block; content: ""; background-color: transparent; width: 100%; height: 50px; } .lineBox{ overflow: hidden; min-height: 40px; clear: both; position: relative; } .imgWhite{ position: absolute; left: 10px; width: 40px; height: 40px; border-radius: 50%; } .imgBlue{ position: absolute; right: 10px; width: 40px; height: 40px; border-radius: 50%; } .textWhite{ /*!*解决连续字母不换行的问题*! max-width: 300px; word-wrap:break-word;*/ min-height: 40px; margin-left: 60px; margin-right: 10px; margin-bottom: 15px; padding: 10px 10px; display: inline-block; position: relative; border-radius: 6px; background-color: #ffffff; box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.05); } .textWhite:before{ display: block; content: ""; width: 0; height: 0; position: absolute; left:-6px; top: 14px; border-top: solid 6px transparent; border-right: 6px solid #fff; border-bottom: solid 6px transparent; } .textBlue{ min-height: 40px; position: relative; float: right; margin-left: 10px; margin-right: 60px; margin-bottom: 15px; padding: 10px 10px; display: inline-block; border-radius: 6px; background-color: #2970ff; box-shadow: 0 5px 15px 0 rgba(41, 75, 255, 0.3); color: #fff; } .textBlue:before{ display: block; content: ""; width: 0; height: 0; position: absolute; right:-6px; top: 14px; border-top: solid 6px transparent; border-left: 6px solid #2970ff; border-bottom: solid 6px transparent; } .inputBox{ position: absolute; bottom: 0; left: 0; height: 60px; line-height: 60px; width: 100%; background-color: #ffffff; } .img1{ margin-left: 10px; margin-top: -3px; display: inline-block; vertical-align: middle; width: 40px; height: 40px; box-sizing: border-box; background-color: #fff; border-radius: 6px; } .textBox{ display: inline-block; line-height: 60px; right: 100px; left: 60px; position: absolute; } #text{ display: inline-block; font-size: 16px; padding: 0 0 0 10px; width: 100%; height: 40px; border-radius: 6px; border: 1px solid #e1e1e1; } #btn{ cursor: pointer; font-size: 16px; margin: 10px; display: inline-block; vertical-align: middle; float: right; height: 40px; box-sizing: border-box; width: 80px; border-radius: 6px; border: 1px solid #e1e1e1; background-color: #fff; outline: none; } #btn:hover{ color: #fff; background-color: #2970ff; } #btn:active{ box-shadow: 0 0 10px rgba(0, 0, 0, 0.2) inset; background-color: #3668ff; } </style> <script> window.onload = function () { var img1 = document.getElementsByClassName("img1"); var imgWhite = document.getElementsByClassName("imgWhite"); var imgBlue = document.getElementsByClassName("imgBlue"); var textM = document.getElementsByClassName("textM"); var textWhite = document.getElementsByClassName("textWhite"); var textBlue = document.getElementsByClassName("textBlue"); var text = document.getElementById("text"); var btn = document.getElementById("btn"); var lineBox = document.getElementsByClassName("lineBox"); var main = document.getElementsByClassName("main"); /*用来判断猫和狗的状态*/ var onOff = true; /*页面载入时聊天内容自动滚动到最下面*/ main[0].scrollTop = main[0].scrollHeight; /*切换猫狗角色*/ img1[0].onclick = function () { if (onOff === true) { this.src = "http://www.php.cn/tpl/Index/Static/img/2017_index/logo.png"; onOff = false } else { this.src = "http://www.php.cn/tpl/Index/Static/img/banner4.jpg"; onOff = true } }; btn.onclick = function () { /*先判断猫还是狗,然后往里面添加内容*/ if (onOff === true) { main[0].innerHTML += "<div class=\"lineBox\">" + "<img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/2017_index/logo.png" class="lazy" class=\"imgWhite\" alt="JS 모방 채팅 페이지" >" + "<p class=\"textM textWhite\">" + "</p>" + "</div>"; imgWhite[imgWhite.length - 1].src = img1[0].src; textWhite[textWhite.length - 1].innerHTML = text.value; } else { main[0].innerHTML += "<div class=\"lineBox\">" + "<img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/2017_index/logo.png" class="lazy" class=\"imgBlue\" alt="JS 모방 채팅 페이지" >" + "<p class=\"textM textBlue\">" + "</p>" + "</div>"; imgBlue[imgBlue.length - 1].src = img1[0].src; textBlue[textBlue.length - 1].innerHTML = text.value; } /*清除原有动画*/ for (var i=0;i<textM.length;i++) { textM[i].style.animation = ""; textM[i].style.animationFillMode = ""; } /*给最新的一条聊天记录绑定CSS3帧动画*/ textM[textM.length - 1].style.animation = "text 0.3s"; textM[textM.length - 1].style.animationFillMode = "forwards"; text.value = ""; /*2个滚动方法*/ /*lineBox[lineBox.length - 1].scrollIntoView();*/ main[0].scrollTop = main[0].scrollHeight; }; /*键盘回车事件*/ document.onkeyup = function (e) { if (window.event) e = window.event; var code = e.charCode || e.keyCode; if (code === 13) { btn.onclick(); } } } </script> </head> <body> <div> <div> <div> <img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/2017_index/logo.png" class="lazy" alt=""> <p class="textM textBlue">PHP中文网推出的那个60天的成为大牛的课程你报了嘛? </p> </div> <div> <img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/banner4.jpg" class="lazy" alt=""> <p class="textM textWhite">当然报啦!你也赶快报吧!马上就截止了!PHP中文网的教育实力我还是很相信的!! </p> </div> <div> <img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/2017_index/logo.png" class="lazy" alt=""> <p class="textM textBlue">嗯嗯~这个我知道,我也赶紧去报名了!! </p> </div> </div> <div> <img src="/static/imghw/default1.png" data-src="http://www.php.cn/tpl/Index/Static/img/banner4.jpg" class="lazy" alt=""> <div> <input type="text" id="text"> </div> <input type="button" value="发送" id="btn"> </div> </div> </body> </html>
위는 모의채팅 소스코드입니다~관심 있는 친구들은 공부에 활용해보세요~js에 대한 더 많은 글과 소스코드는 PHP Chinese 홈페이지에서 검색
관련 추천:
슬라이드쇼를 구현하는 JavaScript 네이티브 코드
위 내용은 JS 모방 채팅 페이지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Microsoft Word에서 페이지를 복사하고 서식을 그대로 유지하고 싶으십니까? 특정 문서 레이아웃이나 형식의 복사본을 여러 개 만들려는 경우 Word에서 페이지를 복제하면 시간을 절약하는 유용한 기술이 될 수 있으므로 이는 현명한 아이디어입니다. 이 가이드는 템플릿을 만들거나 문서의 특정 페이지를 복사하는 등 Word에서 페이지를 복사하는 단계별 프로세스를 안내합니다. 이 간단한 지침은 처음부터 시작하지 않고도 페이지를 쉽게 다시 만들 수 있도록 고안되었습니다. Microsoft Word에서 페이지를 복사하는 이유는 무엇입니까? Word에서 페이지를 복사하는 것이 매우 유용한 데에는 다음과 같은 몇 가지 이유가 있습니다. 복사하려는 특정 레이아웃이나 형식의 문서가 있는 경우. 전체 페이지를 처음부터 다시 만드는 것과는 달리

WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

요즘 가장 인기 있는 소셜 소프트웨어 중 하나인 WeChat은 풍부한 채팅 기능을 제공합니다. 그러나 때로는 "이 채팅을 표시하지 않음" 상황이 발생하여 중요한 대화가 숨겨지는 경우가 있습니다. 이러한 채팅을 복원하는 방법은 실제로 매우 간단합니다. 이 단계를 따르면 숨겨진 채팅을 쉽게 복원하고 WeChat이 제공하는 편리한 커뮤니케이션 경험을 계속 즐길 수 있습니다. WeChat에 표시되지 않는 경우 채팅을 복원하는 방법은 무엇입니까? 위챗은 채팅 복구 방법을 표시하지 않습니다. 방법 1: 위챗 메시지 목록에서 채팅 파트너의 이름이나 키워드를 직접 검색해보세요. 검색 결과가 발견되면 클릭하여 채팅 인터페이스로 들어가 채팅을 복원하고 표시할 수 있습니다. 방법 2, 친구 채팅을 통해 복원: 위챗을 열고 주소록을 클릭한 후 숨겨진 채팅에 표시된 친구를 찾아 클릭하여 메시지 보내기

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

페이지 새로 고침은 일상적인 네트워크 사용에서 매우 일반적입니다. 웹 페이지를 방문할 때 웹 페이지가 로드되지 않거나 비정상적으로 표시되는 등의 문제가 발생할 수 있습니다. 이때 일반적으로 문제를 해결하기 위해 페이지를 새로 고치는 방법을 선택합니다. 페이지를 빠르게 새로 고치는 방법은 무엇입니까? 페이지 새로고침 단축키에 대해 알아보겠습니다. 페이지 새로 고침 단축키는 키보드 조작을 통해 현재 웹 페이지를 빠르게 새로 고치는 방법입니다. 운영 체제와 브라우저에 따라 페이지 새로 고침 단축키가 다를 수 있습니다. 아래에서는 공통 W를 사용합니다.

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

제목: 3초 만에 페이지 점프 구현 방법: PHP 프로그래밍 가이드 웹 개발에서 페이지 점프는 일반적으로 HTML이나 JavaScript 방식에서 페이지로 점프하기 위해 메타 태그를 사용합니다. 그러나 일부 특정 경우에는 서버 측에서 페이지 점프를 수행해야 합니다. 이 기사에서는 PHP 프로그래밍을 사용하여 3초 내에 지정된 페이지로 자동으로 이동하는 기능을 구현하는 방법을 소개하고 구체적인 코드 예제도 제공합니다. PHP를 사용하는 페이지 점프의 기본 원리는 일종의 것입니다.
