From 4e4d707b14561c11d317c2096cc0f5cde25ed29f Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Wed, 7 Sep 2011 08:47:58 +0200 Subject: [PATCH] don't keep redrawing the page after the current one has been loading --- lib/ComicBook.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index ae1b193..5843497 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -441,13 +441,13 @@ function ComicBook(id, srcs, opts) { this.showControl("loadingOverlay"); var i = pointer; // the current page counter for this method + var rendered = false; // I am using recursion instead of a forEach loop so that the next image is // only loaded when the previous one has completely finished function preload(i) { var page = new Image(); - var padding; $("#cb-status").text("loading page " + (i + 1) + " of " + no_pages); @@ -473,8 +473,9 @@ function ComicBook(id, srcs, opts) { var buffer = (options.displayMode === "double" && pointer < srcs.length-1) ? 1 : 0; // start rendering the comic when the requested page is ready - if ($.inArray(pointer + buffer, loaded) !== -1 - || (typeof page_requested === "number" && $.inArray(page_requested + buffer, loaded)) + if (rendered === false + && ($.inArray(pointer + buffer, loaded) !== -1 + || (typeof page_requested === "number" && $.inArray(page_requested + buffer, loaded) !== -1)) ) { // if the user is waiting for a page to be loaded, render that one instead of the default pointer if (typeof page_requested === "number") { @@ -484,6 +485,7 @@ function ComicBook(id, srcs, opts) { ComicBook.prototype.drawPage(); ComicBook.prototype.hideControl("loadingOverlay"); + rendered = true; } if (loaded.length === no_pages) { ComicBook.prototype.hideControl("status") } };