Javascript不会加载图片

Javascript不会加载图片,javascript,Javascript,我想将这些banner.png文件加载到屏幕上,但它打印出来的只是banner数组中的实际文本 function randImg(){ var banner = new Array(); banner[0] = 'banner1.png'; banner[1] = 'banner2.png'; banner[2] = 'banner3.png'; maxImg = banner.length; randNum = Math.floor(Math.random()*maxImg); return

我想将这些banner.png文件加载到屏幕上,但它打印出来的只是banner数组中的实际文本

function randImg(){
var banner = new Array();

banner[0] = 'banner1.png';
banner[1] = 'banner2.png';
banner[2] = 'banner3.png';
maxImg = banner.length;
randNum = Math.floor(Math.random()*maxImg);
return banner[randNum];
}

有什么想法吗?我想我需要知道如何添加src,但我不确定如何添加。

加载图像的指令应该是这样的

其中imgElement是一个IMG元素

imgElement.src = randImg();
如果您不知道如何获取IMG元素。给IMG元素一个ID属性,并像这样加载它

对于IMG元素,如
然后:


注意-我的回答给出了如何更改DOM中存在的IMG元素的源的说明(建议这样做)。您永远不应该
document.write()
元素,无论是在需要时还是在页面加载时。这种做法已被弃用,如果您这样做,许多浏览器会删除整个页面内容。

加载图像的指令应该是这样的

其中imgElement是一个IMG元素

imgElement.src = randImg();
如果您不知道如何获取IMG元素。给IMG元素一个ID属性,并像这样加载它

对于IMG元素,如
然后:


注意-我的回答给出了如何更改DOM中存在的IMG元素的源的说明(建议这样做)。您永远不应该
document.write()
元素,无论是在需要时还是在页面加载时。这种做法已被弃用,如果您这样做,许多浏览器会删除整个页面内容。

我的纯javascript DOM操作有点模糊(通常使用jquery),但类似这样的操作应该可以做到:

<div id="images"></div>    

<script type="text/javascript">
function randImg(){
       var banner = new Array();

       banner[0] = 'banner1.png';
       banner[1] = 'banner2.png';
       banner[2] = 'banner3.png';
       maxImg = banner.length;
       randNum = Math.floor(Math.random()*maxImg);

       var container = document.getElementById('images');

       var img = document.createElement('img');
       img.setAttribute('src',banner[randNum]);

       container.appendChild(img);
    }
</script>

函数randImg(){
var banner=新数组();
横幅[0]=“banner1.png”;
banner[1]=“banner2.png”;
banner[2]=“banner3.png”;
最大值=横幅长度;
randNum=Math.floor(Math.random()*最大值);
var container=document.getElementById('images');
var img=document.createElement('img');
img.setAttribute('src',banner[randNum]);
子容器(img);
}

我的纯javascript DOM操作有点模糊(通常使用jquery),但类似这样的操作应该可以做到:

<div id="images"></div>    

<script type="text/javascript">
function randImg(){
       var banner = new Array();

       banner[0] = 'banner1.png';
       banner[1] = 'banner2.png';
       banner[2] = 'banner3.png';
       maxImg = banner.length;
       randNum = Math.floor(Math.random()*maxImg);

       var container = document.getElementById('images');

       var img = document.createElement('img');
       img.setAttribute('src',banner[randNum]);

       container.appendChild(img);
    }
</script>

函数randImg(){
var banner=新数组();
横幅[0]=“banner1.png”;
banner[1]=“banner2.png”;
banner[2]=“banner3.png”;
最大值=横幅长度;
randNum=Math.floor(Math.random()*最大值);
var container=document.getElementById('images');
var img=document.createElement('img');
img.setAttribute('src',banner[randNum]);
子容器(img);
}

可能太明显了,但是

function randImg(){
    var banner = new Array();

    banner[0] = 'banner1.png';
    banner[1] = 'banner2.png';
    banner[2] = 'banner3.png';
    maxImg = banner.length;
    randNum = Math.floor(Math.random()*maxImg);
    return '<img src="' + banner[randNum] + '" />';
}
函数randImg(){
var banner=新数组();
横幅[0]=“banner1.png”;
banner[1]=“banner2.png”;
banner[2]=“banner3.png”;
最大值=横幅长度;
randNum=Math.floor(Math.random()*最大值);
返回“”;
}

演示:

可能太明显了,但是

function randImg(){
    var banner = new Array();

    banner[0] = 'banner1.png';
    banner[1] = 'banner2.png';
    banner[2] = 'banner3.png';
    maxImg = banner.length;
    randNum = Math.floor(Math.random()*maxImg);
    return '<img src="' + banner[randNum] + '" />';
}
函数randImg(){
var banner=新数组();
横幅[0]=“banner1.png”;
banner[1]=“banner2.png”;
banner[2]=“banner3.png”;
最大值=横幅长度;
randNum=Math.floor(Math.random()*最大值);
返回“”;
}

演示:

您在哪里调用了html此函数?请在我的页面上div内的标记中发布此函数适用的html。您在哪里调用了html此函数?请在我的页面上div内的标记中发布此函数适用的html。为什么删除了我的注释-1此函数可能有效,但它会鼓励用户遵循错误的做法,编写最终难以维护的代码。@请告诉我它有什么问题,而不是只告诉我它有什么问题。为什么删除我的注释-1此函数可能有效,但它会鼓励用户遵循错误的做法,编写最终难以维护的代码。@Ale请告诉我它有什么问题,而不是只告诉我它的错误。+1此答案本应被接受,这是最简单的解决方案,而且设计得很好。@Mario没必要粗鲁,我正在努力教自己一门新语言。我选择的答案有效,并不是因为我对你怀有恶意。这是我第一次遇到可以上班的人。如果您在这里帮助详细解释我为什么做错了什么,以及您的代码是如何工作的,我们这些新手可以有机会掌握这些材料。这就是为什么我会在这里的原因。@EdwardNickAJubrey我指的是他们,因为你昨天失踪了。我的观点是,使用这样一种方法来解决这一问题会导致更大项目的可维护性问题。所以最好总是避免它。(包括Javascript代码中的HTML,这就是为什么我在回答中没有这样做,并希望我的观点被理解)我昨天给出了很好的解释,但由于某种原因,它们都被删除了。他们不想理解,他们更喜欢用这种快速但肮脏的方式来使用Javascript。+1这个答案应该被接受,这是最简单的解决方案,而且设计得非常好。@Mario没有必要粗鲁,我正在尝试教自己一门新语言。我选择的答案有效,并不是因为我对你怀有恶意。这是我第一次遇到可以上班的人。如果您在这里帮助详细解释我为什么做错了什么,以及您的代码是如何工作的,我们这些新手可以有机会掌握这些材料。这就是为什么我会在这里的原因。@EdwardNickAJubrey我指的是他们,因为你昨天失踪了。我的观点是,使用这样一种方法来解决这一问题会导致更大项目的可维护性问题。所以最好总是避免它。(包括Javascript代码中的HTML,这就是为什么我在回答中没有这样做,并希望我的观点被理解)我昨天给出了很好的解释,但他们没有回答