Javascript不会加载图片

时间:2011-10-09 02:37:23

标签: javascript

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

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,但我不确定如何。

3 个答案:

答案 0 :(得分:2)

可能太明显了,但是......

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] + '" />';
}

演示:http://jsfiddle.net/AlienWebguy/u7yfq/

答案 1 :(得分:1)

我的纯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>

答案 2 :(得分:0)

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

其中imgElement是IMG元素。

imgElement.src = randImg();

如果您不知道如何获取IMG元素。给IMG元素一个ID属性并加载如下。

对于<img id="myImage" src="" />的IMG元素 然后:

var imgElement = document.getElementById("myImage");
imgElement.src = randImg();

注意 .-我的回答提供了有关如何更改DOM中存在的IMG元素源的说明(建议这样做)。你不应该document.write()一个元素,无论是按需还是加载页面。该实践已被弃用,如果您这样做,许多浏览器将删除整个页面内容。