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 ...
随机推荐
- CentOS 6.5 usb安装
我只说一下将CentOS安装作为服务器的情况,但是适用于普遍的CentOS安装过程,首先下载CentOS的安装镜像文件,有这么几种:CentOS-6.5-x86_64-LiveCD.CentOS-6. ...
- MATLAB---fopen、fprintf函数
1 概述 fopen()是个将数据按指定格式读入到matlab中的函数. fprintf()是个将数据按指定格式写入到文本文件中的函数. 2 用法 2.1 fopen函数 matlab中fopen函数 ...
- 自定义事件javascript
自定义事件 1.event构造函数自定义事件 /* * 自定义一个名为build的事件 * bubbles :事件是否冒泡 * cancelable:是否阻止事件的默认操作 * composed:指示 ...
- Leetcode453.Minimum Moves to Equal Array Elements最小移动次数使数组元素相等
给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...
- Odoo 在 Ubuntu 环境下性能调优
一.首先我们要分析影响odoo 服务器 性能的因素 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统 ...
- 关于 webpack的总结
一 . 几个基本的概念 1. mode开发模式 // webpack.production.config.js module.exports = { mode: 'production' // 生产模 ...
- SpringMVC + Mybatis + Shiro + ehcache时缓存管理器报错。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' ...
- promise的实现方式和运行机制
promise的规范其实种类很多,我们最常用的是promise/A+ 这篇文章会先将一个类似于promise的构造函数怎么写,网上很多教程并没有实现A+规范,只是看起来像而已 然后我们深入探究如何一步 ...
- Django高级实战 开发企业级问答网站
Django高级实战 开发企业级问答网站 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的 ...
- axios简单的二次封装
import axios from 'axios' import { Message} from 'element-ui' import store from '../store' //vuex im ...