don't keep redrawing the page after the current one has been loading
This commit is contained in:
parent
752bf3b02f
commit
4e4d707b14
1 changed files with 5 additions and 3 deletions
|
@ -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") }
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue