【发布时间】:2011-11-20 12:36:35
【问题描述】:
我有两个问题:
问题 1:我有一个微调器功能,但我有一个小问题。例如,如果用户在微调器中键入 00000009 或 00021,如果用户单击离开微调器,它仍将在微调器中显示 00000009 或 00021。我想要的是,如果发生这样的事情,那么我想要的是当用户点击离开时,我希望微调器将其显示为 9 或 21 而不是 00000009 或 00021。我不知道该怎么做.有谁知道如何克服这个:
问题 2:如果我使用退格键从微调器中删除了一个数字,并且留下了一个空白微调器,需要做些什么,以便在我点击离开微调器时,微调器中的最后一个数字会重新出现在微调器中?
我的主要微调功能:
function Spinner(elem,min, max){
this.elem = elem;
this.elem.value = min;
this.min = min;
this.max = max;
this.timer;
this.speed = 150; //milliseconds between scroll values
var selfO = this;
this.elem.onkeyup = function(){
var regex = /^[0-9]*$/;
if(!regex.test(selfO.elem.value)){
selfO.elem.value = selfO.elem.value.substring(0,selfO.elem.value.length-1);
return;
}
selfO.validateValue();
}
this.validateValue = function(){
if(Number(selfO.elem.value) > selfO.max) {selfO.elem.value = selfO.max;}
if(Number(selfO.elem.value) < selfO.min) {selfO.elem.value = selfO.min;}
}
this.stopSpinning = function(){
clearTimeout(selfO.timer);
}
this.spinValue = function(dir){
selfO.elem.value = Number(selfO.elem.value) + dir;
selfO.validateValue();
selfO.timer = setTimeout(function(){selfO.spinValue(dir);},selfO.speed);
}
};
window.onload=function(){
//create the Spinner objects
var SpinnerHours = new Spinner(document.getElementById('txtHours'),0,23);
}
【问题讨论】:
-
我以为我包含了底部功能以帮助您更好地理解它
标签: javascript spinner