JavaScript--微博发布效果
效果图:

实现思路:
当发布按钮被点击时,又会分为三种情况
1.如果输入的内容为空,弹出提示:不能发布空微博
2.如果输入的文字超过120,弹出提示,微博内容不能超过120
3.正常发布微博到列表里,并清空文本域。
4.消除 '< ' 对于文本域的影响.
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
list-style:none;
}
.weibo{width: 600px;border: 1px solid #ccc;margin: 100px auto;padding:10px;}
.weibo textarea{ width: 598px;height:140px;border: 1px solid #ccc;outline: none;resize: none; }
.weibo textarea:focus{border-color: #f40; }
.weibo button{ width: 80px;height: 30px;background: orange;color:#fff;border: 0 none;margin-top: 5px;border-radius: 3px;
cursor: pointer; }
.weibo button:hover{background-color: #f40; }
.weibo ul{margin-bottom: 10px;}
.weibo li{border-bottom: 1px dotted #ccc;overflow: hidden;font-size: 14px;line-height: 30px;}
.weibo li p{float: left;}
.weibo li span{float: right;color:#333;text-decoration: none;cursor: pointer;}
.weibo li span:hover{ color:#f40; }
</style>
<script>
window.onload = function () { var weibobox = document.getElementById("weibo");
var ul = weibobox.children[0];
var text = weibobox.children[1];
var btn = weibobox.children[2]; btn.onclick = function () {
// 获取输入内容(去掉前后空格)
var value = text.value.trim();
// 排除 < 字符对于文本域的影响
if(value.indexOf("<") != -1) {
value = value.replace("<", "<");
}
// 判断输入内容是否合法
if(!value) {
alert("输入内容不能为空!")
}else if(value.length > 120) {
alert("发出的微博字数不能超过120个!")
}else {
// 创建li元素
var newli = document.createElement("li");
// 设置li内容
newli.innerHTML = "<p>"+value+"</p>";
// 插入li到原来li节点前面
ul.insertBefore(newli,ul.children[0]);
// 清空文本域
text.value = "";
} } }
</script>
</head>
<body>
<div class="weibo" id="weibo">
<ul>
<li><p>快来收了这九款用上就停不下来的应用吧!!</p></li>
<li><p>超级详细的云南大理自助游攻略</p></li>
<li><p>外国最近很火的舞蹈,舒服简单自然,太棒了!</p></li>
</ul>
<textarea id="text"></textarea>
<button id="btn">发布</button>
</div>
</body>
</html>
JavaScript--微博发布效果的更多相关文章
- 原生JS+tween.js模仿微博发布效果
转载请注明出处:http://www.cnblogs.com/zhangmingze/p/4816865.html 1.先看效果吧,有效果才有动力: 2.html结构: <!DOCTYPE ht ...
- VUE实现微博发布效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 微博发布效果jq版
大家都看过新浪微博的发状态功能,我模拟了一下类似的效果,包括发布时间,删除效果等.代码如下: <!DOCTYPE HTML> <html> <head> <m ...
- 点滴积累【JS】---JS小功能(JS实现模仿微博发布效果)
效果: 思路: 利用多功能浮动运动框架实现微博效果,首先,将textarea中的属性添加到新创建的li里面然后,再将li添加到ul里面,再利用浮动运动框架将数据动态的显示出来. 代码: <hea ...
- JS学习笔记 - 微博发布效果
<script> window.onload = function() { var oTxt = document.getElementById('txt1'); var oBtn = d ...
- 原生JavaScript 全特效微博发布面板效果实现
javaScript实现微博发布面板效果.---转载白超华 采用的js知识有: 正则表达式区分中英文字节.随机数生成等函数 淡入淡出.缓冲运动.闪动等动画函数 onfocus.onblur.oninp ...
- js控住DOM实现发布微博简单效果
这段代码的效果具体是输入标题和内容,点击发布把消息发布出去,并使最新的消息始终在内容的最上面,代码为: <!DOCTYPE html> <html lang="en&quo ...
- js微博发布框的实现
观察了微博发布框, 1.发现他的剩余文字是动态改变的, 2.且文字为零时 发布框颜色为暗色 3.文字不符合标准时提交不通过 整理了一下思路 js会主要用到的方法 1.onclick() //点击发布时 ...
- [js高手之路]设计模式系列课程-委托模式实战微博发布功能
在实际开发中,经常需要为Dom元素绑定事件,如果页面上有4个li元素,点击对应的li,弹出对应的li内容,怎么做呢?是不是很简单? 大多数人的做法都是:获取元素,绑定事件 <ul> < ...
- JS 仿腾讯发表微博的效果
JS 仿腾讯发表微博的效果 最近2天研究了下 腾讯发表微博的效果 特此来分享下,效果如下: 在此分享前 来谈谈本人编写代码的习惯,很多人会问我既然用的是jquery框架 为什么写的组件不用Jquery ...
随机推荐
- Java虚拟机系列(四)---查看GC日志
这一节穿插一点如何在eclipse中配置并查看某个Java应用GC日志的知识点,我也是通过调研知道的,因为书中写的不是很详细,主要是为下一节做准备. 一.eclipse中配置GC 在eclipse中如 ...
- CentOS 6.5 Apache、MySQL、PHP环境配置(LAMP)
yum -y install httpd mysql-server php #安装apache.mysql和PHP yum -y install php-mysql php-gd php-mbstri ...
- spring boot项目启动报DataSource错误
初建一个简单的spring boot 项目,启动后会报错. Exception encountered during context initialization - cancelling refre ...
- java 集合存储对象且根据对象属性排序
方法一:根据java1.8lambda表达式进行排序 Comparator<RateInfo> comparator = (t1, t2) -> t1.getRateCode().c ...
- MyBatis框架的文件配置
第一步:log4j.properties的配置 原因:Mybatis的日志输出是依赖与log4j的,所以必须要配置 # Global logging configuration log4j.rootL ...
- StopWatch 监控Java代码运行时间和分析性能
背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...
- vue实现跳转路由
参考vue官方文档:https://router.vuejs.org/zh/guide/essentials/navigation.html // 字符串 router.push('home') // ...
- 操作系统实验 windows编程多线程 生产者消费者问题 画圆画方(内置bug版)
实验3:随便写的 #include <windows.h> #include <string> #include <stdio.h> #pragma warning ...
- Vue-cli3.x在开发环境中(router采用 history模式)出现Failed to resolve async component default: Error: Loading chunk {/d} failed.或者Uncaught SyntaxError: Unexpected token <错误
使用Vue-cli3.x开发环境中(router采用 history模式)出现Failed to resolve async component default: Error: Loading chu ...
- float示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...