基于jQuery的计算文本框字数的代码


Posted in Javascript onJune 06, 2012

一、功能:

1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数;

2.当超过规定的字数后,点击确定,会让输入框闪动
二、功能分析

1.重点是用什么事件?

标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变。

2.字数的计算。

2.1一个中文算两个,一个符号或数字,英文,算一个。(如果是规定140个字,乘以2,那么就是280个)

2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数;

3.闪动背景色

这里用到了模运算,因为是重复的动作,第一次有颜色,第二次没有颜色,这样重复的动作,就有闪动效果.

因为肉眼要看到这二次有颜色和无颜色的效果,所以需要用到延时,setTimeout和setInterval. 这里用到的是setInterval,因为要重复动作。

感谢“妙味课堂”的视频

在线演示:http://demo.3water.com/js/2012/myinputCount/
打包下载:https://3water.com/jiaoben/55149.html

基于jQuery的计算文本框字数的代码

$(function(){ 
var $tex = $(".tex"); 
var $but = $(".but"); 
var ie = jQuery.support.htmlSerialize; 
var str = 0; 
var abcnum = 0; 
var maxNum = 280; 
var texts= 0; 
var num = 0; 
var sets = null; 
$tex.val(""); 
//顶部的提示文字 
$tex.focus(function(){ 
if($tex.val()==""){ 
$("p").html("您还可以输入的字数<span>140</span>"); 
} 
}) 
$tex.blur(function(){ 
if($tex.val() == ""){ 
$("p").html("请在下面输入您的文字:"); 
} 
}) 
//文本框字数计算和提示改变 
if(ie){ 
$tex[0].oninput = changeNum; 
}else{ 
$tex[0].onpropertychange = changeNum; 
} 
function changeNum(){ 
//汉字的个数 
str = ($tex.val().replace(/\w/g,"")).length; 
//非汉字的个数 
abcnum = $tex.val().length-str; 
total = str*2+abcnum; 
if(str*2+abcnum<maxNum || str*2+abcnum == maxNum){ 
$but.removeClass() 
$but.addClass("but"); 
texts =Math.ceil((maxNum - (str*2+abcnum))/2); 
$("p").html("您还可以输入的字数<span>"+texts+"</span>").children().css({"color":"blue"}); 
}else if(str*2+abcnum>maxNum){ 
$but.removeClass("") 
$but.addClass("grey"); 
texts =Math.ceil(((str*2+abcnum)-maxNum)/2); 
$("p").html("您输入的字数超过了<span>"+texts+"</span>").children("span").css({"color":"red"}); 
} 
} 
//按钮点击 
$but.click(function(){ 
if($(this).is(".grey")){ 
sets = setInterval(flash,100); 
$tex.addClass("textColor") 
} 
function flash(){ 
num++; 
if(num == 4){ 
clearInterval(sets); 
} 
if(num%2 == 1){ 
$tex.addClass("textColor") 
}else{ 
$tex.removeClass("textColor") 
} 
} 
}) 
})
Javascript 相关文章推荐
改进UCHOME的记录发布,增强可访问性用户体验
Jan 17 Javascript
javascript中关于break,continue的特殊用法与介绍
May 24 Javascript
基于jquery打造的百分比动态色彩条插件
Sep 19 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
JavaScript判断密码强度(自写代码)
Sep 06 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
javascipt:filter过滤介绍及使用
Sep 10 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
Dec 08 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
webpack3.0升级4.0的方法步骤
Apr 02 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 #Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
Jun 04 #Javascript
Javascript数组的排序 sort()方法和reverse()方法
Jun 04 #Javascript
javascript中获取下个月一号,是星期几
Jun 01 #Javascript
一行代码告别document.getElementById
Jun 01 #Javascript
javascript的console.log()用法小结
May 31 #Javascript
jQuery 联动日历实现代码
May 31 #Javascript
You might like
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
php四种定界符详解
2017/02/16 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python实现决策树分类
2018/08/30 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python制作微博图片爬取工具
2021/01/16 Python
高一历史教学反思
2014/01/13 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
就业意向书
2014/07/29 职场文书
关于空气污染危害的感想
2015/08/11 职场文书