0

次のスクリプト ( Adam Khoury提供) は、完了時にメッセージを表示するタイマーを作成します。機能は理にかなっていますが、ここでの文字列の使用を理解するのに苦労しています. 特に:

1) なぜ'countDown('+secs+',"'+elem+'")'文字列として渡さなければならないのですか? 私が見た他の例では、setTimeout は関数を受け入れることができます (「引用符」なし)。

2) 同様に、同じ行で、elem(「引用符」を使用して) 文字列として渡す必要があるのはなぜですか? elem変数はすでに文字列値、id の名前 ( "status")を保持しているようです。

これについて何か光を当てたり、誤解を正したりすることがあれば、私は感謝します!

<script type="text/javascript">
function countDown(secs,elem) {
var element = document.getElementById(elem);
element.innerHTML = "Please wait for "+secs+" seconds";
if(secs < 1) {
clearTimeout(timer);
element.innerHTML = '<h2>Countdown Complete!</h2>';

}
secs--;
var timer = setTimeout('countDown('+secs+',"'+elem+'")',1000);
}
</script>
<div id="status"></div>
<script type="text/javascript">countDown(10,"status");</script>
4

2 に答える 2