我有5个纺纱这几乎完美的工作,只有一个小故障,我不能克服的。微调是不太正确的显示号码,如果微调是空白
什么是假设发生的是,如果微调是空白的,不管前面的数字是在微调,它会显示以前的号码。
相反,它是做什么的是,已在任一5个纺纱输入了以前的任何数字,它显示的是空白微调这个数字。
那么如何才能得到它,使它显示从微调对上号,如果微调是空白,而不是显示来自任何微调的空白微调进入前面的最后一个号码是多少?
下面是我的微调代码:
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);
var SpinnerMins = new Spinner(document.getElementById('txtMins'),0,59);
var SpinnerSecs = new Spinner(document.getElementById('txtSecs'),0,59);
var SpinnerWeight = new Spinner(document.getElementById('txtWeight'),0,100);
var SpinnerQuestion = new Spinner(document.getElementById('txtQuestion'),0,100);
document.getElementById('txtHours').onblur = function(){ this.value = cleanSpin(this.value);}
document.getElementById('txtMins').onblur = function(){ this.value = cleanSpin(this.value);}
document.getElementById('txtSecs').onblur = function(){ this.value = cleanSpin(this.value);}
document.getElementById('txtWeight').onblur = function(){ this.value = cleanSpin(this.value);}
document.getElementById('txtQuestion').onblur = function(){ this.value = cleanSpin(this.value);}
function cleanSpin(obj) {
if(obj > 0) {
var str = obj.replace(/^0*/,'');
lastSpin = str;
return str;
}
else {
return lastSpin;
}
}
var lastSpin = 1;
Spinner类从哪里来?这不是标准的JavaScript AFAIK。 – GregL
我会猜测它来自jQuery UI,但我很好奇这行代码。 cleanSpin(THIS.VALUE); –
我不想用代码重载,但是如果你想要微调类,那么现在我已经在包含值的验证的问题中包含了这个。我认为这个问题虽然是在我的cleanSpin()函数 – BruceyBandit