javascript - 更改 Img 属性并填充数组错误

标签 javascript html arrays error-handling

我对 JavaScript 相当陌生,并且很难理解为什么这一小段代码无法正常工作。在函数“change(slide)”中,如果我使用alert()函数显示传递给它的任何数组,则会显示预期结果。但是,当我希望将结果分配给图像的 src 属性时,我收到一条错误消息

未捕获的类型错误:无法读取 null 的属性“setAttribute” 未捕获的类型错误:无法读取未定义的属性“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>

最佳答案

您正在解雇change(slider);在创建 img 标签之前。

添加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]);
}

关于javascript - 更改 Img 属性并填充数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748554/

相关文章:

arrays - 数组返回第一个元素 char 而不是整个元素

javascript - 如何使用jquery为每个点击的链接弹出一个新的浏览器窗口

javascript - 等待使用 puppeteer 显示 Google Captcha

javascript - 拉斐尔 svg 导入大小

php - Wordpress:如何更改最新的帖子设计

将字符串转换为字符指针数组

javascript - 对于字符串 返回 false 的 boolean 值 -  需要为 true

html - 在元素的一半设置背景

java - 使用提交按钮获取 servlet 信息

php - 如何使用 php 将数组转换为具有特殊键的多维数组?