我对JavaScript很新,并且很难理解为什么这一小段代码无法正常工作。在函数'更改(幻灯片)'中,如果我使用alert()函数显示传递给它的任何数组,则会显示预期结果。但是,当我希望将结果分配给我的图像的src属性时,我收到一条错误说明
未捕获的TypeError:无法读取属性' setAttribute'为null 未捕获的TypeError:无法读取属性' 0'未定义的
我正在寻找最合适有效的方法将我的杂色src文本分配到我的图像中。
function loadSlider(){
var stocker = new Array();
for(var i = 0; i<15; i++){
stocker.push("C:\\Users\\Rickep\\random_pics\\"+i+".jpg");
}
return stocker;
}
var slider = new Array();
slider = loadSlider();
change(slider);
function change(slide){
document.getElementById('imageToFill').setAttribute('src',slide[1]);
}
</script>
<div id="filler">
<img id="imageToFill"></img>
</div>
答案 0 :(得分:1)
您在创建img标记之前触发change(slider);
。
将onload="change(slider);"
添加到您的正文标记(并删除当前调用)应修复。
如果您使用的是JQuery,这也可能是$('document').ready(function(){change(slider);});
,而不是当前的更改调用。
看看setInterval实际交换图片。
var currentSlide = 0;
$('document').ready(function(){
setInterval(change, 5000); // 5 seconds
});
function change(){
currentSlide = (currentSlide+1) % slider.length;
document.getElementById('imageToFill').setAttribute('src',slider[currentSlide]);
}