使用JS实现一组图片动画效果或者使用HTML5 Canvas渲染一系列图片等案例中,需要图片全部加载完成方可运行动画效果。此时程序中就会涉及多张图片预加载代码。当接二连三的案例中都涉及图片预加载时,就需要考虑把这个功能封装为一个通用方法。
(1)下面为JS实现图片预加载方法loadImages():
//实现一系列图片的预加载
//参数sources:图片信息关联数组
//参数callback:回调函数——图片预加载完成后立即执行此函数。
function loadImages(sources, callback){
var count = 0,
images ={},
imgNum = 0;
for(src in sources){
imgNum++;
}
for(src in sources){
images[src] = new Image();
images[src].onload = function(){
if(++count >= imgNum){
callback(images);
}
}
images[src].src = sources[src];
}
}
(2)在JS中调用预加载函数:
//存储图片链接信息的关联数组
var sources = {
ietoHell : "img/IEtoHell.jpg",
fuckIE : "img/fuckIE.jpg"
};
//调用图片预加载函数,实现回调函数
loadImages(sources, function(images){
//TO-DO something
ctx.drawImage(images.ietoHell, 20,20,100,100);
ctx.drawImage(images.fuckIE, 140,20,100,100);
});
注意事项:
(1)先绑定image.onload事件,后加载图片
images[src] = new Image();
images[src].onload = function(){
if(++count >= imgNum){
callback(images);
}
}
images[src].src = sources[src];
原因:如果图片从缓存中加载,速度非常快以至于没来得及绑定事件就加载完毕,自然不会触发绑定事件。
(2)for...in循环 与 for循环的区别
for循环用于迭代数组(array)
for...in循环用于迭代对象(object, {})或者关联数组(hash array)
分享到:
相关推荐
4. **设置真实`src`**:在`load`事件的回调函数中,将`<img>`标签的`src`属性设置为实际图片URL。此时,浏览器会开始加载真实的图片内容。 5. **处理错误**:同时,也需要监听`error`事件,以防图片加载失败。可以...
为了确保图片已经成功加载,可以监听`onload`事件,当图片加载完成后执行回调函数: ```javascript function preloadImage(url, callback) { var img = new Image(); img.onload = function() { if (callback) {...
// 可以添加回调函数来监听图片加载完成 img.onload = function() { console.log('Image ' + this.src + ' preloaded.'); }; } } ``` 4. **调用预加载函数**:在合适的时机调用预加载函数,例如文档加载完成后...
然后提供了一个简单的JavaScript函数`loadImage`,它创建一个Image对象,并在图片加载完成后通过回调函数来通知开发者。这个回调函数可以用来执行一系列动作,如更新页面上的图片元素`src`属性,或者在图片加载完成...
预加载过程中,可以设置回调函数来监听加载进度,以便于提供加载状态反馈或者进行其他处理。 预加载策略也是值得考虑的一部分。例如,可以采取“按需预加载”,只对即将出现在用户视野内的图片进行预加载,或者...
2. **监听`load`事件**:当图片加载完成后,`jQuery`会触发`load`事件,我们可以在该事件的回调函数中进行后续操作,例如显示图片或执行其他动画效果: ```javascript img.load(function() { // 图片预加载完成后...
接下来,可以创建一个新的预加载实例,传入图片URL数组,并注册必要的回调函数。例如: ```javascript $(document).ready(function() { var preloader = new Preloader(['image1.jpg', 'image2.jpg', 'image3.jpg'...
该插件提供了丰富的选项和回调函数,可以定制化预加载的过程,如渐进加载(逐渐加载)。 **五、使用jquery.LoadImage实现逐渐加载** `jquery.LoadImage`插件支持逐渐加载,这意味着图片会根据需要分段加载,而不是...
在实际应用中,开发者可以根据需要调整`LoadImage`插件的参数,以适应不同场景的需求,例如限制同时加载的图片数量,控制加载优先级,或者添加自定义的回调函数来处理加载完成后的操作。 总结来说,"JS加载load图片...
这可以通过设置`onLoadStart`和`onLoadEnd`回调函数来实现。 总的来说,jQuery LoadImage插件凭借其易用性和高效性,成为了前端开发中处理图片预加载问题的理想选择。无论你是新手还是经验丰富的开发者,都能快速...
此外,这种方法还允许在图片加载完成时触发回调函数,以便进行进一步处理。 最后,我们来看Ajax预加载。Ajax(异步JavaScript和XML)技术通常用于后台数据交互,但在预加载图片方面也有应用。通过发送一个...
// 可选:添加加载完成后的回调函数 img.onload = function() { // 在这里处理图片加载完成的逻辑,如替换占位符 // ... }; } }); ``` 在上述代码中,我们创建了一个`Image`对象,并设置了它的`src`属性为要预...
3. **加载事件监听**:通过监听`onload`事件,当图片加载完成后,执行回调函数,记录已加载的图片,并可能移除预加载的`<img>`元素以释放内存。 4. **错误处理**:对于加载失败的图片,插件会提供错误处理机制,...
3. **调用预加载方法**:启动预加载过程,可以指定预加载的回调函数来处理加载完成后的逻辑。 4. **处理加载后的图片**:在图片加载完成后,可以通过回调函数更新页面,将图片插入到 DOM 中,或者应用到 CSS 样式中...
`DownImg`方法负责加载图片,并在加载完成后执行回调函数。 JavaScript图片预加载技术优点 JavaScript图片预加载技术有以下几个优点: * 提高用户体验:通过预加载图片,可以减少用户等待图片加载的时间,从而...
标题“javascript图片预加载实例分析”涉及的知识点涵盖了在JavaScript中实现图片预加载的方法和技巧。图片预加载是一种常见的前端技术,用于提前加载图片资源,以便在需要时可以立即显示,从而提升用户体验。 描述...
而现代Web 2.0应用倾向于使用JavaScript预加载图片,利用浏览器缓存机制提前下载图片,并在需要时直接显示,避免等待时间。 在实现图片预加载的JavaScript代码中,通常会使用Image对象,这是一个内置的JavaScript...
// 可选:添加回调函数来处理预加载完成或失败的事件 img.onload = function() { console.log('图片' + url + '已成功预加载'); }; img.onerror = function() { console.error('图片' + url + '预加载失败'); ...
2. JavaScript预加载:通过JavaScript动态创建图片元素,并设置其src属性值。图片加载完成后再将图片元素添加到页面中。 3. HTML预加载:通过在HTML中添加img标签,但不设置其src属性,然后通过JavaScript设置src来...
通过调用插件提供的`imgpreload`方法,传入图片地址数组和回调函数,以实现图片预加载和加载进度反馈。 ```javascript var imgNum = 0; var images = []; $(function(){ preloadImg(); }); function preloadImg(){...