zoukankan      html  css  js  c++  java
  • 基于jQuery的计算文本框字数的代码-jquery

    用户边输入计算同时进行,告诉用户还剩余多少可输入的字数,当超过规定的字数后,点击确定,会让输入框闪动

    一、功能: 
      1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数; 
      2.当超过规定的字数后,点击确定,会让输入框闪动 
    二、功能分析 
      1.重点是用什么事件? 
      标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变。 
      2.字数的计算。 
        2.1一个中文算两个,一个符号或数字,英文,算一个。(如果是规定140个字,乘以2,那么就是280个) 
        2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; 
      3.闪动背景色 
      这里用到了模运算,因为是重复的动作,第一次有颜色,第二次没有颜色,这样重复的动作,就有闪动效果. 
      因为肉眼要看到这二次有颜色和无颜色的效果,所以需要用到延时,setTimeout和setInterval. 这里用到的是setInterval,因为要重复动作。

    感谢“妙味课堂”的视频

    在线演示:http://demo.jb51.net/js/2012/myinputCount/
    打包下载:http://www.jb51.net/jiaoben/55149.html

    $(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") 
    } 
    } 
    }) 
    })
    

      

  • 相关阅读:
    Ubuntu的shell之bash和dash
    Linux下烧写工具DNW和USB驱动安装(一)
    make -C M=
    uname -r和uname -a了解
    如何添加Samba用户
    Ubuntu下配置samba实现文件夹共享
    [Jenkins]运行shell报错:寻找匹配的 `"' 是遇到了未预期的文件结束符
    [Shell] 调试shell脚本的技巧 | 校验shell脚本语法 |寻找匹配的 `"' 是遇到了未预期的文件结束符
    [Python]通过python-jenkins操作jenkins slave启动job | 通过python-jenkins实现ios自动化打包接口
    pod: command not found
  • 原文地址:https://www.cnblogs.com/superjt/p/3180522.html
Copyright © 2011-2022 走看看