Skip to content

Instantly share code, notes, and snippets.

@robinhayward
Created January 31, 2013 20:04
Show Gist options
  • Save robinhayward/4685941 to your computer and use it in GitHub Desktop.
Save robinhayward/4685941 to your computer and use it in GitHub Desktop.
JavaScript image preloader
function bookletPreloader(pageNumber, numberOfPagesToPreload, bookletId)
{
this.booklet = $(bookletId);
this.numberOfPagesToPreload = numberOfPagesToPreload;
this.pageNumber = pageNumber;
this.createPreloadContainer = function() {
var html = '<div class="booklet-preloader-container">ads</div>';
if (!this.containerElement)
{
$('body').append(html);
}
}();
this.containerElement = $('.booklet-preloader-container');
this.pages = $('div', this.booklet);
}
bookletPreloader.prototype.pageDidChange = function(pageNumber)
{
this.pageNumber = pageNumber;
this.preloadPages();
}
bookletPreloader.prototype.preloadPages = function()
{
alert(this.pageNumber);
var self = this;
var start = this.pageNumber;
var end = this.pageNumber + this.numberOfPagesToPreload;
this.pages.each(function(a, b){
if ((a >= start) && (a <= end))
{
console.log('preload-page ' + a + '---' + b);
self.preloadPage(b);
}
});
}
bookletPreloader.prototype.preloadPage = function(pageElement)
{
var url = $('img', pageElement).attr('src');
var html = '<img src="' + url + '" width="1" height="1" alt="">';
alert(html);
this.containerElement.append(html);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment