基于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 相关文章推荐
jquery中获取id值方法小结
Sep 22 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
js实现从数组里随机获取元素
Jan 12 Javascript
JS控制弹出新页面窗口位置和大小的方法
Mar 02 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
Angularjs实现上传图片预览功能
Sep 01 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
在vue项目中引用Iview的方法
Sep 14 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
Jul 19 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php中截取字符串支持utf-8
2007/01/18 PHP
PHP Document 代码注释规范
2009/04/13 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
JavaScript定时器使用方法详解
2020/03/26 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python爬虫增加访问量的方法
2019/08/22 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python获取栅格点和面值的实现
2020/03/10 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
python datetime处理时间小结
2020/04/16 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
职专应届生求职信
2013/11/16 职场文书
财务会计人员岗位职责
2013/11/30 职场文书
参观监狱心得体会
2014/01/02 职场文书
新教师岗前培训方案
2014/06/05 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript