新聞中心
- $(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("您還可以輸入的字數(shù)140");
- }
- })
- $tex.blur(function(){
- if($tex.val() == ""){
- $("p").html("請在下面輸入您的文字:");
- }
- })
- //文本框字數(shù)計算和提示改變
- if(ie){
- $tex[0].oninput = changeNum;
- }else{
- $tex[0].onpropertychange = changeNum;
- }
- function changeNum(){
- //漢字的個數(shù)
- str = ($tex.val().replace(/\w/g,"")).length;
- //非漢字的個數(shù)
- abcnum = $tex.val().length-str;
- total = str*2+abcnum;
- if(str*2+abcnum
- $but.removeClass()
- $but.addClass("but");
- texts =Math.ceil((maxNum - (str*2+abcnum))/2);
- $("p").html("您還可以輸入的字數(shù)"+texts+"").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("您輸入的字數(shù)超過了"+texts+"").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")
- }
- }
- })
- })
一、功能:

為宕昌等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及宕昌網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、宕昌網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
用戶邊輸入計算同時進行,告訴用戶還剩余多少可輸入的字數(shù);
當超過規(guī)定的字數(shù)后,點擊確定,會讓輸入框閃動
二、功能分析
重點是用什么事件?
標準瀏覽器用oninput,而IE則使用onpropertychange ,這兩個事件的發(fā)生條件,是文本框的值發(fā)生改變。
字數(shù)的計算。
一個中文算兩個,一個符號或數(shù)字,英文,算一個。(如果是規(guī)定140個字,乘以2,那么就是280個)。需要用到Math.ceil方法,因為***還是要除以2來還原顯示給用戶的字數(shù);
閃動背景色
這里用到了模運算,因為是重復(fù)的動作,***次有顏色,第二次沒有顏色,這樣重復(fù)的動作,就有閃動效果.
因為肉眼要看到這二次有顏色和無顏色的效果,所以需要用到延時,setTimeout和setInterval. 這里用到的是setInterval,因為要重復(fù)動作。
DEMO下載
原文鏈接:http://www.cnblogs.com/lufy/archive/2012/06/05/2537016.html
網(wǎng)站題目:jQuery計算文本框字數(shù)方法
網(wǎng)頁URL:http://fisionsoft.com.cn/article/coccdch.html


咨詢
建站咨詢
