您好我在JavaScript代码中使用Firebug发现错误,“b为null”和我的图像不changing.What我想实现是3个图像在网页上,但在moment.Currently独立的最终交换它没有发生任何事情,我已经在3个着名的浏览器中测试过。Javascript变量空错误?
由于您使用Start
索引到a
任何帮助将是巨大的
<script type="text/javascript">
var ImageArr1 = new Array("banner1.jpg","banner2.jpg","banner3.jpg");
var ImageHolder1 = document.getElementById("photo");
function RotateImages(whichHolder,Start)
{
var a = eval("ImageArr"+whichHolder);
var b = eval("ImageHolder"+whichHolder);
if(Start>=b.length)
Start=0;
b.src = a[Start];
document.getElementById('slideNumber').textContent = "Slide "+(Start+1)+" of "+ImageArr1.length;
window.setTimeout("RotateImages("+whichHolder+","+(Start+1)+")",3500);
}
RotateImages(1,0);
</script>
可能重复jQuery或DOM方法(如\'getElementByID \'找不到元素?](http://stackoverflow.com/questions/14028959/why-does-jquery-or-a-dom-method-such-as-getelementbyid -not-find-the-element) - 因为'b'是'null'你正在访问元素存在之前。 –
另外你真的应该使用数组而不是变量变量......这是地狱之路。 –
为什么......你为什么使用eval?!?!?!?即使不使用数组,您也可以使用var a = window ['ImageArr'+ whichHolder];'来获取全局变量。 – ThiefMaster