前提・実現したいこと
クイズのプログラムを作成してまして、制限時間まではsetIntervalで表示させることができました。そして制限時間時にバーを表示させて時間が減るごとにバーも減らし、また表示させたいです。
##以下のエラーメッセージが発生しました。
sample.html:37 Uncaught SyntaxError: Invalid left-hand side in assignment
該当のソースコード
<!DOCTYPE html> <html> <meta charset='UTF-8'> <!-- ↑metaタグでcharsetをUTF-8に設定しています。 キャラクターセット(エンコード)が違うと全角文字が文字化けします。 --> <body> <div id='idTimeGauge' style='background: #0f0; width: 100%;' > <br> </div> <button type="button" id='start'>Start</button><br> <button type="button" id='stop'>Stop </button><br> <button type="button" id='reset'>Reset</button> <script> oTimeGauge = document.getElementById('idTimeGauge'); oCmpSte_TimeGauge = getComputedStyle(oTimeGauge); nTimeGaugeMax = parseInt('http://oTimeGauge.style.width'); console.log('nTimeGaugeMax:'+nTimeGaugeMax);document.getElementById('start').addEventListener('click', function(e){ SetTime(e); }); document.getElementById('stop').addEventListener('click', function(e){ StopTime(e); }); document.getElementById('reset').addEventListener('click', function(e){ ResetTime(e); }); ResetTime(); function TimeCount(){ console.log('TimeCount()'); nTimeCount += nTimeInc; let nRatio = nTimeCount/nTimeMax;
//ここでエラー
'http://oTimeGauge.style.width' = (nTimeGaugeMax*nRatio)+'%';
console.log('http://oTimeGauge.style.width:'+'https://t.co/Go961osTYl.width');
if(0<nTimeCount){
oTimeoutID = setTimeout(TimeCount, nTimePulse);
}
}
</script> </body> </html>function SetTime(){ console.log('SetTime()'); ResetTime(); oTimeoutID = setTimeout(TimeCount, nTimePulse); } function ResetTime(){ console.log('ResetTime()'); StopTime(); //ここでエラー 'http://oTimeGauge.style.width' = nTimeGaugeMax+'%'; nTimeMax = 150; nTimeInc = -1; nTimeCount = nTimeMax; nTimePulse = 50; // ms } function StopTime(){ if("undefined"!==typeof(oTimeoutID)){ console.log('if("undefined"!==typeof(oTimeoutID))'); clearTimeout(oTimeoutID); } }
試したこと
これも教えてもらったコードなのですが、相手方のパソコンでは動いたと言っていますが、自分のパソコンではちっとも動かなく、エラーがバンバン出てきました。
正直
nTimeGaugeMax = parseInt('http://oTimeGauge.style.width'); とか
'http://oTimeGauge.style.width' = (nTimeGaugeMax*nRatio)+'%';
は何しているか分かっていません。こんなにわかですが教えてくれるでしょうか。
もちろん上記の方法ではなくても自分のパソコンで動けば問題ありません!解説もあればうれしいです。
補足情報(FW/ツールのバージョンなど)
バージョンなどもわかりませんが自分はファイルを作り、そこで新規作成し、htmlファイル?を作りました。そのファイルをVSコードで開きプログラムをしています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。