以下脚本(由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>