首页 > 网站 > WEB开发 > 正文

字数输入限制百分比显示CSS+JS

2024-04-27 14:02:58
字体:
来源:转载
供稿:网友

<style type="text/CSS">

.PRogress{
 width: 1px;
 height: 14px;
 color: white;
 font-size: 12px;
  overflow: hidden;
 background-color: navy;
 padding-left: 5px;
}

</style>

<script type="text/javaScript">

function textCounter(field,counter,maxlimit,linecounter) {
 // text width//
 var fieldWidth = parseInt(field.offsetWidth);//parseInt 方法 返回由字符串转换得到的整数。将字符串转换成整型。
 //obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型,单位像素
 var charcnt = field.value.length; 

 // trim the extra text
 if (charcnt > maxlimit) {
  field.value = field.value.substring(0, maxlimit);
 }

 else {
 // progress bar percentage
 var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
 document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px";
 document.getElementById(counter).innerHTML="已输: "+percentage+"%"
 // color correction on style from CCFFF -> CC0000
 setcolor(document.getElementById(counter),percentage,"background-color");
 }
}

function setcolor(obj,percentage,prop){
 obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}

</script>

<p>限制:120字节</P>
<form>

<textarea rows="5" cols="40" name="maxcharfield" id="maxcharfield"
onKeyDown="textCounter(this,'progressbar1',120)"
onKeyUp="textCounter(this,'progressbar1',120)"
onFocus="textCounter(this,'progressbar1',120)" ></textarea><br />

<div id="progressbar1" class="progress"></div>

<script>textCounter(document.getElementById("maxcharfield"),"progressbar1",120)</script>

</form>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表