} catch (err) {
}
- this.loader.canPreload();
var $this = this;
setTimeout(function () {
$this._hideSplash();
$("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage ' + turning.nextFromClass + 'start"></div>');
var doublePage = $("#nextDoublePage");
var currentDoublePage = $("#currentDoublePage");
- this.displayLoader();
+ if (!this.loader.arePreloadedPages(turning.end)) {
+ this.displayLoader();
+ }
this.loader.preloadPagesBeforeTransition(turning.end, function () {
$("#pages").addClass('_3dtransition');
$this.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function () {
var turning = this.getTurningPages(pageNr);
$("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');
var doublePage = $("#nextDoublePage");
- this.displayLoader();
+ if (!this.loader.arePreloadedPages(turning.end)) {
+ this.displayLoader();
+ }
this.loader.preloadPagesBeforeTransition(turning.end, function () {
$this.loader.setContentsInDoublePage(doublePage, turning.end, true, function () {
$this.beforeTransition(pageNr, 2, turning);
this.hidePage('right');
}
- this.displayLoader();
+ if (!this.loader.arePreloadedPages(turning.end)) {
+ this.displayLoader();
+ }
this.loader.preloadPagesBeforeTransition(turning.end, function () {
$this.loader.setContentsInDoublePage(doublePage, turning.end, true, function () {
$this.beforeTransition(pageNr, 2, turning);
this.backgrounds = [];
this.links = [];
this.toPreload = [];
- this.numPreload = 6;
this.imagesErrors = [];
}
return 'raster';
},
- canPreload: function () {
- this.numPreload = 6;
- if (this.fluidbook.support.imagesVersion) {
- this.numPreload += 6;
- }
- if (this.fluidbook.datas.phonegap) {
- this.numPreload = 6;
- }
- },
preloadPagesBeforeTransition: function (pages, callback) {
var $this = this;
var $pages = pages.slice(0);
});
},
+
+ arePreloadedPages: function (pages) {
+ for (var i in pages) {
+ var page = pages[i];
+ if (this.backgrounds[page] == undefined) {
+ return false;
+ }
+ }
+ return true;
+ },
+
preloadPages: function () {
if (this.toPreload.length == 0) {
return;
this.cleanPreloaded();
return;
}
- var min = Math.max(1, page - 1);
- var max = Math.min(min + this.numPreload, this.fluidbook.datas.pages);
- min = Math.max(1, max - (this.numPreload));
+
+ var numPreloadAfter = 5;
+ var numPreloadBefore = 2;
+ if (this.fluidbook.resize.orientation == 'portrait') {
+ numPreloadAfter = 3;
+ numPreloadBefore = 1;
+ }
+ var max = Math.min(page + numPreloadAfter, this.fluidbook.datas.pages);
+ var min = Math.max(1, page - numPreloadBefore);
this.toPreload = [];
for (var i = min; i <= max; i++) {
this.toPreload.push(i);