Orbit/app/assets/javascripts/lib/jquery.preload.min.js

42 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2012-11-28 09:27:23 +00:00
// (function($) {
// var cache = [];
// // Arguments are image paths relative to the current page.
// $.preLoadImages = function() {
// var args_len = arguments.length;
// for (var i = args_len; i--;) {
// var cacheImage = document.createElement('img');
// cacheImage.src = arguments[i];
// cache.push(cacheImage);
// }
// }
// })(jQuery)
(function($) {
$.preloadimages = function (arr){
var newimages=[], loadedimages=0
var postaction=function(){}
var arr=(typeof arr!="object")? [arr] : arr
function imageloadpost(){
loadedimages++
if (loadedimages==arr.length){
postaction(newimages) //call postaction and pass in newimages array as parameter
}
}
for (var i=0; i<arr.length; i++){
newimages[i]=new Image()
newimages[i].src=arr[i]
newimages[i].onload=function(){
imageloadpost()
}
newimages[i].onerror=function(){
imageloadpost()
}
}
return { //return blank object with done() method
done:function(f){
postaction=f || postaction //remember user defined callback functions to be called when images load
}
}
}
})(jQuery)