私はJQueryとJavascriptを使い慣れていないので、小さなsetTimeout関数を記述しようとしていますが、動作していないようです。以下は私のコードですが、ここで何が間違っているのかを指摘して助けてくれる人もいます。Javascript setTimeout function with JQuery
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>countdown</title>
<script type="text/javascript" src="/jquery-2.1.4.js"></script>
<script>
$("#submit").click(function(){
var timeVal = $("#input").val();
var mainTimeVal = timeVal.split(":");
var minute = parseInt(mainTimeVal[0]);
var second = parseInt(mainTimeVal[1]);
//console.log(second);
setTimeout(function() {
if (minute == 0 && second == 0) {
alert("no time left");
}
else if (second !== 0) {
second--;
}
else {
minute--;
second = 60;
}
second--;
}, 1000);
});
</script>
</head>
<body>
<input type="text" id="input" value="25:23"/><br>
<button type="button" id="submit" value="send"></button>
</body>
</html>
私がやった....電話をかけると、再び呼び出しを再帰的にする必要があるが、それは、それはあなたのために働く場合は、plsはフィドルを生成することができ、動作しないようですか? @Velimir – Pappy
あなたは 'submit'を押してからタイマーをカウントし続け、時間が過ぎてからアラートが正しく発射されるようにしたいのですか? –
はい、正確には、setTimeoutをsetIntervalに置き換えましたが、時間はカウントダウンされますが、間隔は「秒ですが、1秒遅れます」@Velimir – Pappy