文本框输入文字倒计代码实例

通常情况下,文本框输入的文字个数并不是无限制的,一般都会限定一个输入最高上限,较为人性化的网站可能会有可输入字数倒计效果,比如还剩余20可以输入这样的提示,下面就通过一个实例介绍一下如何实现此效果。

代码如下:


<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>文本框输入文字倒计效果代码-蚂蚁部落</title>
<style type="text/css">
*{
  margin:0;
  padding:0;
}
.box{
  width:500px;
  margin:10px auto;

p span{
  color:#069;
  font-weight:bold;

textarea{
  width:300px;
}
.textColor{
  background-color:#0C9;

.grey{
  padding:5px;
  color:#FFF;
  background-color:#CCCCCC;
}
</style>
<script type="text/javascript" src="http://www.softwhy.com/mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
  var $tex=$(".tex");
  var $but=$(".but");
  var ie=jQuery.support.htmlSerialize;
  var str=0;
  var abcnum=0;
  var maxNum=280;
  var texts=0;
 
  $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"});
    } 
  }
})
</script>
</head>
<body>
<div class="box">
  <p>请在下面输入您的文字:</p>
  <textarea name="weibao" class="tex" cols="" rows="8"></textarea>
</div>
</body>
</html>

原文地址:http://www.softwhy.com/forum.php?mod=viewthread&tid=8687


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值