我正在开发一个网页来收集关于一个人的睡眠信息。具体而言,我需要找出两个用户输入之间的时间差,这两个用户输入可能会或可能不会跨越午夜。在javascript中寻找btw两次输入的差异
我对编程一般都很陌生,所以我试图继续使用我熟悉的技能,但也想知道是否有更简单的方法!
我写的代码如下:
<script type="text/javascript">
function timeSec() {
var btHours = document.getElementById('bedtimeHours').value;
if (btHours == "") {
btHours = 0;
}
var btMins = document.getElementById('bedtimeMins').value;
if (btMins == "") {
btMins = 0;
}
var btSleepTillMidnight = 0;
var btSecTotal = (btHours*3600) + (btMins*60);
document.getElementById('btSec').value = btSecTotal;
if (btHours > 12) {
btSleepTillMidnight = 24*3600 - btSecTotal;
}
if (btHours <= 12) {
btSleepTillMidnight = (-Math.abs(btSecTotal));
}
var wtHours = document.getElementById('waketimeHours').value;
if (wtHours == "") {
wtHours = 0;
}
var wtMins = document.getElementById('waketimeMins').value;
if (wtMins == "") {
wtMins = 0;
}
var wtSecTotal = (wtHours*3600) + (wtMins*60);
document.getElementById('wtSec').value = wtSecTotal;
var diffSec = wtSecTotal + btSleepTilMidnight;
document.getElementById('diffSec').value = diffSec;
var diffHours = diffSec/3600;
document.getElementById('diffHours').value = diffHours;
}
</script>
我的HTML如下,并且相当多的设计开发过程中找出错误:
<form method="post" action="" name="PSQI" id="PSQI">
Bedtime:
<input type="number" name="bedtimeHours" id="bedtimeHours" min="0" step="1" max="24" value=""> Hours
<input type="number" name="bedtimeMins" id="bedtimeMins" min="0" step="10" max="50" value=""> Minutes
<br>
Waketime:
<input type="number" name="waketimeHours" id="waketimeHours" min="0" step="1" max="24" value=""> Hours
<input type="number" name="waketimeMins" id="waketimeMins" min="0" step="10" max="50" value=""> Minutes
<input type="button" value="Score" onclick="timeSec();">
<br>
btSec: <input type="text" name="btSec" id="btSec" value="">
<br>
wtSec: <input type="text" name="wtSec" id="wtSec" value="">
<br>
diffSec: <input type="text" name="diffSec" id="diffSec" value="">
<br>
diffHours: <input type="text" name="diffHours" id="diffHours" value="">
</form>
...你的问题是? – 2015-01-09 21:06:10
用于调试使用开发工具栏。所有主流浏览器都有。你可以通过点击F12来启动它。你可以使用'console.log(某些东西)写入控制台'这使得调试更容易。你也可以在你的代码中加入'debugger'。无论何时开发工具处于活动状态,它都会停止脚本执行并允许您逐步调试代码。 – Mouser 2015-01-09 21:14:47
@mouser辉煌的感谢..我对缺乏明确的问题表示歉意..它出于某种原因在我的浏览器中不起作用,diffSec和diffHours中没有报告任何值。调试技巧是伟大的,虽然..不知道这一点。干杯! – RoryLattimer 2015-01-09 23:38:18