function SlideShow(area)
{
var SlideImg = new Array('img1', 'img2');
var SlideArea = document.getElementById(area);
for(i=0;i<SlideImg.length;i++)
{
var html = '<img src="images/room/' + SlideImg[i] + '.jpg" id="' + SlideImg[i] + '" class="not-active" />';
SlideArea.innerHTML += html;
}
var a = 0;
function RunSlide()
{
document.getElementById(SlideImg[a]).className = 'active';
a++;
}
var run = setTimeout('RunSlide()', 5000);
}
在我添加setTimeout()方法后,此函数无法正常工作。有人能帮助我吗?
答案 0 :(得分:9)
只需将其更改为:
var run = setTimeout(RunSlide, 5000);
原因是:当您将字符串传递给setTimeout()
时,它在全局上下文中eval
- 其中RunSlide
不可见,因为它是本地的。
将字符串传递给setTimeout()
绝不是一个好主意,这里有一个理由。