基于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获取页面窗口大小的代码解读
Dec 01 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
js+css实现导航效果实例
Feb 10 Javascript
jQuery中extend()和fn.extend()方法详解
Jun 03 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
Jan 08 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 Javascript
JavaScript内置对象之Array的使用小结
May 12 Javascript
DWR内存兼容及无法调用问题解决方案
Oct 16 Javascript
vue router 动态路由清除方式
May 25 Vue.js
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缓存技术介绍
2006/11/25 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
简单的vuex 的使用案例笔记
2018/04/13 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
python实现TCP文件传输
2020/03/20 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
学校元旦晚会方案
2014/02/19 职场文书
医院义诊活动总结
2014/07/04 职场文书
班组拓展活动方案
2014/08/14 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
2015入党自传格式范文
2015/06/26 职场文书
创业计划书之面包店
2019/09/17 职场文书
导游词之无锡东林书院
2019/12/11 职场文书