js微博发布框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style> body{ font-size:12px;} #div1{ width:400px; margin:20px auto;} #div1 p{ float:right; margin:0;} #div1 textarea{ width:400px; height:100px;} #div1 a{ width:50px; height:30px; font-size:16px; line-height:30px; text-align:center; float:right; background:#00FF00; color:#FFFFFF;} #div1 a.dis{ background:#CCCCCC; color:#666666;} </style> <script> //onchange : 当光标消失的时候,只能触发一次 //ie : onpropertychange : 输入连续触发 //标准:oninput : 也是连续触发 window.onload = function(){ var oDiv = document.getElementById('div1'); var oP = oDiv.getElementsByTagName('p')[0]; var oT = oDiv.getElementsByTagName('textarea')[0]; var oA = oDiv.getElementsByTagName('a')[0]; var ie = !-[1,]; var bBtn = true; var timer = null; var iNum = 0; oT.onfocus = function(){ if(bBtn){ oP.innerHTML = '打击虚假消息,建设文明微博,还可以输入<span>140</span>字'; bBtn = false; } }; oT.onblur = function(){ if(oT.value==''){ oP.innerHTML = '《新浪微博社区公约(征求意见稿)》意见征求'; bBtn = true; } }; if(ie){ oT.onpropertychange = toChange; } else{ oT.oninput = toChange; } function toChange(){ var num = Math.ceil(getLength(oT.value)/2); var oSpan = oDiv.getElementsByTagName('span')[0]; if(!oSpan){return} if(num<=140){ oSpan.innerHTML = 140 - num; oSpan.style.color = ''; } else{ oSpan.innerHTML = num - 140; oSpan.style.color = 'red'; } if(oT.value=='' || num>140){ oA.className = 'dis'; } else{ oA.className = ''; } } function getLength(str){ return String(str).replace(/[^\x00-\xff]/g,'aa').length; } oA.onclick = function(){ if(this.className == 'dis'){ clearInterval(timer); timer = setInterval(function(){ if(iNum==5){ clearInterval(timer); iNum = 0; } else{ iNum++; } if(iNum%2){ oT.style.background = 'red'; } else{ oT.style.background = ''; } },100); } else{ alert('发布成功!'); } }; }; </script> </head> <body> <div id="div1"> <p>《新浪微博社区公约(征求意见稿)》意见征求</p> <textarea></textarea> <a class="dis" href="javascript:;">发布</a> </div> </body> </html>
js微博发布框的更多相关文章
- js微博发布框的实现
观察了微博发布框, 1.发现他的剩余文字是动态改变的, 2.且文字为零时 发布框颜色为暗色 3.文字不符合标准时提交不通过 整理了一下思路 js会主要用到的方法 1.onclick() //点击发布时 ...
- 原生JS+tween.js模仿微博发布效果
转载请注明出处:http://www.cnblogs.com/zhangmingze/p/4816865.html 1.先看效果吧,有效果才有动力: 2.html结构: <!DOCTYPE ht ...
- [js高手之路]设计模式系列课程-委托模式实战微博发布功能
在实际开发中,经常需要为Dom元素绑定事件,如果页面上有4个li元素,点击对应的li,弹出对应的li内容,怎么做呢?是不是很简单? 大多数人的做法都是:获取元素,绑定事件 <ul> < ...
- 原生JavaScript 全特效微博发布面板效果实现
javaScript实现微博发布面板效果.---转载白超华 采用的js知识有: 正则表达式区分中英文字节.随机数生成等函数 淡入淡出.缓冲运动.闪动等动画函数 onfocus.onblur.oninp ...
- 微博发布效果jq版
大家都看过新浪微博的发状态功能,我模拟了一下类似的效果,包括发布时间,删除效果等.代码如下: <!DOCTYPE HTML> <html> <head> <m ...
- VUE实现微博发布效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js控制文本框只能输入中文、英文、数字与指定特殊符号.
先在'' 里输入 onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的 X换成你想输入的代码就可以了, 中文u4 ...
- bootstrap中popover.js(弹出框)使用总结+案例
bootstrap中popover.js(弹出框)使用总结+案例 *转载请注明出处: 作者:willingtolove: http://www.cnblogs.com/willingtolove/p/ ...
- js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...
随机推荐
- 教程-delphi的开源json库:superobject,用法简介
困惑一天的问题 一个语句搞定了... 回头细说. superobject中的{$DEFINE UNICODE} 就是它,这是json官方推荐的Delphi处理json的包,地址: http://www ...
- thinkphp3.2.3 版本使用redis缓存的时候无法使用认证
我在使用thinkphp3.2.3的时候 发现如果是使用redis缓存 设置了认证的redis能连接成功 却无法 set 操作 ,检查发现是没有认证导致的 $redis->auth这一步没有, ...
- 要注意null合并运算符的优先级比+还要低
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:要注意null合并运算符的优先级比+还要低.
- Hibernate复合主键映射
目录: 1. 实现方式一:将复合主键对应的属性与实体其他普通属性放在一起 2. 实现方式二:将主键属性提取到一个主键类中,实体类只需包含主键类的一个引用 在日常开发中会遇到这样一种情况,数据库中的某张 ...
- textarea文本域宽度和高度(width、height)自己主动适应变化处理
文章来源:http://www.cnblogs.com/jice/archive/2011/08/07/2130069.html <HTML> <HEAD> <TITLE ...
- orczhou----MYSQL
https://yq.aliyun.com/users/1597777588650149?spm=5176.blog11192.yqblogcon1.2.5mdGQb
- C# - 集合类 - 集合接口
本篇将介绍关于集合的接口 这些接口定义了所有与集合有关的类的框架 IEnumerable接口 ns:System.Collections 此接口定义了对集合遍历的方法 一般表示元素序列或集合的类都实现 ...
- C# - 系统类 - DateTime类
DateTime类 ns:System 此类是一个结构 提供了访问和修改它所代表的时间 创建DateTime实例的几种方式 DateTime time = , , , , , ); Console.W ...
- mysq优化参数详解:innodb_buffer_pool_size,innodb_file_per_table
Mysql配置参数: thread_pool:如果支持的话,使用线程池 innodb_buffer_pool_size:物理内存50%-70%最高80%独立实例,多实例:60% innodb_flus ...
- Mac安装Mysql过程
1.Mysql官网下载安装包 http://dev.mysql.com/downloads/mysql/ 选择Mac OS X 10.10 (x86, 64-bit), DMG Archive版本下载 ...