gpt4 book ai didi

javascript - 当分钟部分低于十时,Android-Esque 时间输入小部件不起作用

转载 作者:行者123 更新时间:2023-11-30 05:58:58 25 4
gpt4 key购买 nike

我正在尝试制作一个用于控制时间输入的“小部件”,除了允许您手动输入值外,它还使用向上和向下箭头来递增每个部分。它工作正常(从 12 循环到 1,从 59 循环到 1 等等),但是当我添加一个部分,当值低于 10 时正确格式化分钟时,它开始起作用。

按下正常,直到显示 10,然后是“10”,然后是“09”,然后是“0-1”。

到达“0-1”后按向上键转到“01”,但当到达“08”时,它又回到“01”。

function minFix(mins)
{
if ( mins <= 9)
{
mins = "0" + String(mins);
document.getElementById("mins").value = mins;
}
else
{
document.getElementById("mins").value = mins;
}
}


function minUp()
{
var mins = parseInt(document.getElementById("mins").value);
if (mins == 59)
{
mins = 1;
minFix(mins);
}
else
{
mins = (mins+1);
minFix(mins);
}
}


function minDown()
{
var mins = parseInt(document.getElementById("mins").value);
if (mins == 1)
{
mins = 59;
minFix(mins);
}
else
{
mins = (mins-1);
minFix(mins);
}

minUp 和 minDown 分别由向上和向下箭头调用,显示分钟的文本框的 ID 为分钟。

我确定我遗漏了一些简单的东西,但我现在无法弄清楚,因此非常感谢您的帮助。

最佳答案

这与您要附加的零有关。它使您的数字变成八进制数,因此当您读回它时,它不会被读取为十进制数。看看 parseInt 是如何工作的,你就会明白。您需要在解析前删除前导零。

向下滚动此处的 parseInt 函数:http://www.javascripter.net/faq/convert2.htm

所以这一行 var mins = parseInt(document.getElementById("mins").value);

应该是

var mins = parseInt(document.getElementById("mins").value.replace(/^0+/,""));

哦,欢迎来到 Stack!请不要忘记给您认为最好的答案投票,并为您认为正确的答案打上绿色复选标记。

关于javascript - 当分钟部分低于十时,Android-Esque 时间输入小部件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10017648/

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