基于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 相关文章推荐
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
javascript Promise简单学习使用方法小结
May 17 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 Javascript
JavaScript无阻塞加载和defer、async详解
Feb 26 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
May 11 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 Javascript
Javascript实现单选框效果
Dec 09 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 selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
大学专科生推荐信范文
2013/11/23 职场文书
学生会主席竞聘书
2014/03/31 职场文书
同居协议书范本
2014/04/23 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
早读课迟到检讨书
2014/09/25 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
美丽的大脚观后感
2015/06/03 职场文书
红高粱观后感
2015/06/10 职场文书
Python内置数据结构列表与元组示例详解
2021/08/04 Python