html部分:
<body onload="preloader();">
<p class="comb">
<img src="image1.jpg" alt=""/>
<img src="" alt=""/>
<img src="" alt=""/>
<img src="" alt=""/>
<img src="" alt=""/>
</p>
</body>
JS代码:
function preloader(){
// create object
imageObj = new Image();
// set image list
images = new Array();
images[0]="image1.jpg";
images[1]="image2.jpg";
images[2]="image3.jpg";
images[3]="image4.jpg";
// start preloading
for(var i=0; i<=3; i++){
var imageObj = new Image();
imageObj.src=images[i];
console.log(imageObj.src);
document.getElementsByTagName('img')[i].setAttribute('src',imageObj.src);
}
}
显示效果:

问题:
preloader()这个方法动态设置了src,那么html中的img元素能不能根据src的数量有多少就创建多少个img呢?
一般在做动态创建图片这种需求都是怎么解决的?
求思路或建议!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
先打印图片src源;
根据src源创建<img>
将<img>放置到目标dom里
把preloader动态直接修改dom换成 preloader先创建img 字符串,把多个img字符串作为innerHTML再插入到dom中
如果用mvvm框架的话,比较好解决。 model生成了多少的src, 视图自动repeat 循环加载img图片
要不采用模板的方式,主动repeat 循环加载img图片
做一个p,里面放img标签就可以了,根据你获得的图片数量创建。不过这样写很奇怪,如果是静态页面没有太好的解决方式,可以参考下backbone.js,应该有所帮组