タイトルの通りですがjavascriptのsetintervalを使って1000分の1秒のタイマーを作りたいのですが
時間の進みが早くなってしまいます。
もっと具体的に言うと1秒に2秒分進んでしまうといえばいいのでしょうか
見た感じ同じ処理が二つ同時にされてしまったような挙動になります
プログラム自体はGPIOから入力が来たのを確認したら(5番のピンに接続しているタクトスイッチがおされたら)タイマーがスタートされるといった内容です。
なにがいけないのか教えていただきたいです以下ソースコードとOSです
OS:Chirimen for raspberry pi3 model B
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <style type="text/css"> #start{ font-size: 30px; } </style> <script src="https://r.chirimen.org/polyfill.js"></script> <script> button1(); var count = 0; async function button1(){ var gpioAccess = await navigator.requestGPIOAccess(); var port = gpioAccess.ports.get(5); await port.export("in"); port.onchange = (function(prt) { return function(v) { var countup = function(){ document.getElementById("start").innerHTML = count++; } setInterval(countup,1000); }})();
}
</script> <body> <center> <p id="start">0</p> </center> </body> </head> </html>回答2件
あなたの回答
tips
プレビュー