使用javascript和for循环在页面加载后预加载图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用javascript和for循环在页面加载后预加载图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2103字,纯文字阅读大概需要4分钟。
内容图文
![使用javascript和for循环在页面加载后预加载图像](/upload/InfoBanner/zyjiaocheng/656/ea60c362bc0f4d8cb6850454b1b61873.jpg)
我目前正在创建网页照相馆.页面加载后,我想用Javascript预加载大量图像.可以在循环中使用HTML链接,而不是在列表中列出非常长的HTML链接吗?请看下面的代码.对于我在for循环中做错的任何有用的见解,将不胜感激!谢谢!!
<script type="text/javascript">
function preloader() {
var images = new Array()
function preload() {
for (i = 0; i < preload.arguments.length; i++) {
images[i] = new Image()
images[i].src = preload.arguments[i]
}
}
preload(
var i=1;
"http://example.com/images/gallery/elephants-" + for (i=1;i<=5;i++) {document.write(i);} + ".jpg",
"http://example.com/images/gallery/penguins-" + for (i=1;i<=2;i++) {document.write(i);} + ".png"
)
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(preloader);
</script>
我遇到问题的部分是preload()部分中的for循环. preload()部分应输出/执行以下操作:
preload(
"http://example.com/images/gallery/elephants-1.jpg",
"http://example.com/images/gallery/elephants-2.jpg",
"http://example.com/images/gallery/elephants-3.jpg",
"http://example.com/images/gallery/elephants-4.jpg",
"http://example.com/images/gallery/elephants-5.jpg",
"http://example.com/images/gallery/penguins-1.png",
"http://example.com/images/gallery/penguins-2.png"
)
解决方法:
您不能将字符串和循环连接在一起.您必须使用循环和push方法构建字符串数组:
var i, urls = [];
for(i = 1; i <= 5; i++)
urls.push('http://example.com/images/gallery/elephants-' + i + '.jpg');
for(i = 1; i <= 2; i++)
urls.push('http://example.com/images/gallery/penguins-' + i + '.jpg');
然后使用apply调用preload函数并将该数组作为参数传递:
preload.apply(null, urls);
因此,您的整个预加载器功能变为:
function preloader() {
var images = new Array()
function preload() {
for (i = 0; i < preload.arguments.length; i++) {
images[i] = new Image()
images[i].src = preload.arguments[i]
}
}
var i, urls = [];
for(i = 1; i <= 5; i++)
urls.push('http://example.com/images/gallery/elephants-' + i + '.jpg');
for(i = 1; i <= 2; i++)
urls.push('http://example.com/images/gallery/penguins-' + i + '.jpg');
preload.apply(null, urls);
}
内容总结
以上是互联网集市为您收集整理的使用javascript和for循环在页面加载后预加载图像全部内容,希望文章能够帮你解决使用javascript和for循环在页面加载后预加载图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。