js五道经典练习题--第二道仿qq聊天框
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{margin: 0;padding: 0;}
.container{
width: 280px;
margin: 20px auto;
border: 1px solid #ddd;
}
.container .content{
height: 400px;
padding: 10px;
overflow: auto;
}
.fl{
float: left;
}
.fr{
float: right;
}
.clear{
clear: both;
}
.footer{
border-top: 1px solid #ddd;
padding: 10px;
height:30px;
}
.footer img{
float: left;
}
.footer input{
float: left;
width: 140px;
outline: none;
border: 1px solid #ddd;
/*margin: 6px;*/
padding: 7px 8px;
margin-left: 10px;
margin-right: 5px;
}
.btn{
padding: 7px 8px;
outline: none;
border: none;
background: #8A2BE2;
color: #fff;
}
.active{
background: darkgreen;
color: #eee;
}
.text{
word-break: break-all;
max-width: 210px;
}
.msgL,.msgR{
margin-bottom: 15px;
}
</style>
</head>
<body>
<div class="container">
<div class="content" id="content">
</div>
<div class="footer">
<img src="img/QQ1.png" id="img" />
<input type="text" id="text"/>
<button class="btn" type="button" id="send">发送</button>
</div>
</div>
<script>
var oSend = document.getElementById("send")
var oText = document.getElementById("text")
var oContent = document.getElementById("content")
var oImg = document.getElementById("img")
var onOff = true
oSend.onclick = function(){
var oTxt = oText.value
if(oTxt.length==0){
alert('请输入内容')
}else{
if(onOff){
var str1 = '<div class="msgL fl clear"><div class="img_text"><div class="img fl"><img src="img/QQ1.png" /></div><div class="text fr">'+oTxt+'</div></div></div>'
oContent.innerHTML+=str1
oText.value = ""
}else{
var str2 = '<div class="msgR fr clear"><div class="img_text"><div class="img fr"><img src="img/QQ2.png" /></div><div class="text fl active">'+oTxt+'</div></div></div>'
oContent.innerHTML+=str2
oText.value = ""
}
}
}
oImg.onclick = function(){
if(onOff){
oImg.src = "img/QQ2.png"
onOff = false
}else{
oImg.src = "img/QQ1.png"
onOff = true
}
}
</script>
</body>
</html>
js五道经典练习题--第二道仿qq聊天框的更多相关文章
- WPF仿QQ聊天框表情文字混排实现
原文:WPF仿QQ聊天框表情文字混排实现 二话不说.先上图 图中分别有文件.文本+表情.纯文本的展示,对于同一个list不同的展示形式,很明显,应该用多个DataTemplate,那么也就需要Data ...
- js五道经典练习题--第四道qq好友列表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- js五道经典练习题--第五道成绩列表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- js五道经典练习题--第三道实现购物车功能
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- js五道经典练习题--第一道
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- JS简单仿QQ聊天工具的制作
刚接触JS,对其充满了好奇,利用刚学到的一点知识,写了一个简单的仿QQ聊天的东西,其中还有很多的不足之处,有待慢慢提高. 功能:1.在输入框中输入内容,点击发送,即可在上方显示所输入内容. 2.点击‘ ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(1)-简介
1.前言 本次实现的这个聊天工具是我去年c#程序设计课程所写的Socket仿QQ聊天,由于当时候没有自己的服务器,只能在机房局域网内进行测试,最近在腾讯云上买了一台云主机(本人学生党,腾讯云有个学生专 ...
- 高仿qq聊天界面
高仿qq聊天界面,给有需要的人,界面效果如下: 真心觉得做界面非常痛苦,给有需要的朋友. chat.xml <?xml version="1.0" encoding=&quo ...
- Android特效专辑(六)——仿QQ聊天撒花特效,无形装逼,最为致命
Android特效专辑(六)--仿QQ聊天撒花特效,无形装逼,最为致命 我的关于特效的专辑已经在CSDN上申请了一个专栏--http://blog.csdn.net/column/details/li ...
随机推荐
- dataTables的学习笔记 -- 未开启服务器数据模式
官方网站:http://www.datatables.net/ (1)未开启服务器数据模式(即"bServerSide" : false),数据会从后台直接全部获取,然后在前台全部 ...
- K-mer分析
0. 基本参数 基因组大小:G Read读长:L 总Read条数:n_r 1. 碱基深度分布 单条Read测序覆盖到某一个碱基的概率:L/G 因为L/G很小,n_r很大,每个碱基覆盖深度服从泊松分布. ...
- nodejs 如何操作字节在内存中的位置问题 BE LE
上代码 function testNumber() { var arr = new Int32Array(1); arr[0] = 1234; var buf1 = Buffer.from(arr); ...
- px转rem
第一步: 第二步:html引入js 第三步:转换单位,100px=0.1rem
- [Robot Framework] 通过SikuliLibrary可以获取到图片,但是点击失效
执行时,可以看到鼠标已经移动到图片上了,但是点击失效,日志也没有报错 后来发现是windows权限的问题. 通过打开Control Panel->System and Security-> ...
- sqli-labs:1-4,基于报错的注入
sqli1: 脚本 # -*- coding: utf-8 -*- """ Created on Sat Mar 23 09:37:14 2019 @author: ke ...
- 用 Python 写 Robot Framework 测试
Robot Framework 框架是基于 Python 语言开发的,所以,它本质上是 Python 的一个库. 1.你懂 Python 语言. 2.又想使用 Robot Framework 测试框架 ...
- idea maven 创建webapp项目没有src目录
archetypeCatalog=internal
- nginx自旋锁
#include <stdio.h> #include <stdint.h> #include <unistd.h> /* typedef unsigned lon ...
- 【搜索】Shuffle'm Up
运用第i个s12和第i+1个s12中,每个位置具有的确定的映射关系: pos = pos * 2 + 1 (pos < c) pos = pos * 2 - c * 2 (pos >= c ...