简体   繁体   English

Javascript不会加载图片

[英]Javascript will not load the pictures

I want to load these banner.png files to the screen but all it prints out is the actual text from the banner array? 我想将这些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];
}

any thoughts? 有什么想法吗? I think I need to some how add a src but I am not sure how. 我想我需要一些如何添加src的方法,但是我不确定如何添加。

Might be too obvious, but... 可能太明显了,但是...

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

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

My pure javascript DOM manipulation is a little fuzzy (usually use jquery) but something like this should do the trick: 我的纯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>

The instruction that loads the image should be like this. 加载图像的指令应该是这样的。

Where imgElement is an IMG element. 其中imgElement是IMG元素。

imgElement.src = randImg();

If you don't know how to get an IMG element. 如果您不知道如何获取IMG元素。 Give the IMG element an ID attribute and load this like this. 给IMG元素一个ID属性,并像这样加载它。

For an IMG element as <img id="myImage" src="" /> Then: 对于IMG元素,如<img id="myImage" src="" />然后:

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

Note .- my answer gives instruction on how to change the source of an IMG element that exists in the DOM (It is recommended to do so). 注意 .-我的回答给出了有关如何更改DOM中存在的IMG元素的来源的指示(建议这样做)。 You should NEVER document.write() an element, Neither on demand or when page is loading. 您不应该document.write()元素,无论是按需还是在页面加载时都不要。 That practice has been deprecated and many browsers would delete the whole page contents if you do so. 该做法已被弃用,如果您这样做,许多浏览器会删除整个页面的内容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM