Javascript特效之控制輸入字數和進度條顯示

Javascript特效之控制輸入字數和進度條顯示

我們經常會遇到一些網頁的輸入框會限制輸入的字數,並且會顯示出當前輸入了多少個字符,今天來看看怎麼實現。

效果圖:


可以看到,我們每輸入一個字符下面的進度條會跟着變。

實現思路:

首先設置好總字數,再爲文本框註冊鍵盤按下事件。沒按下按鍵或者刪除字符都要進行處理,如果超過總字符數則截取掉。

顏色則是通過rgb來控制越來越紅。

js代碼:

function textCounter(field,counter,maxlimit,linecounter) {
	// text width//
	var fieldWidth =  parseInt(field.offsetWidth);
	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)+"%)";
}

發佈了56 篇原創文章 · 獲贊 20 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章