gpt4 book ai didi

javascript - 我希望微调器能够正确显示数字

转载 作者:行者123 更新时间:2023-11-28 21:13:19 26 4
gpt4 key购买 nike

我有 2 个问题:

问题 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);
}

最佳答案

要将 00000009 等数字返回为 9,请使用 parseInt();

alert( parseInt(000000009, 10) );  // returns 9

正如 Jonathan Lonowski 所指出的第二个参数是基数。

radix参数用于指定使用哪种数字系统,例如基数16(十六进制)表示字符串中的数字应从十六进制数解析为十进制数。

如果省略基数参数,JavaScript 将假定以下内容:

  • 如果字符串以“0x”开头,则基数为 16(十六进制)
  • 如果字符串以“0”开头,则基数为 8(八进制)。此功能已弃用
  • 如果字符串以任何其他值开头,则基数为 10(十进制)

关于javascript - 我希望微调器能够正确显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8198912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com