@@ -21,8 +21,7 @@ var bookFlip = {
21
21
$ ( document ) . on ( 'rotationchanging' , ( ) => { bookFlip . rotate ( ) } ) ;
22
22
$ ( document ) . on ( 'scalechanging' , ( ) => { bookFlip . resize ( ) } ) ;
23
23
$ ( document ) . on ( 'pagechanging' , ( ) => { bookFlip . flip ( ) } ) ;
24
- $ ( document ) . on ( 'documentloaded' , ( ) => { bookFlip . stop ( ) } ) ;
25
-
24
+
26
25
$ ( document ) . on ( 'scrollmodechanged' , ( ) => {
27
26
var scroll = PDFViewerApplication . pdfViewer . scrollMode ;
28
27
if ( scroll === 3 ) bookFlip . start ( ) ;
@@ -48,6 +47,7 @@ var bookFlip = {
48
47
} ) ;
49
48
50
49
$ ( document ) . on ( 'documentloaded' , ( ) => {
50
+ bookFlip . stop ( ) ;
51
51
var scrollMode = PDFViewerApplicationOptions . get ( 'scrollModeOnLoad' ) ;
52
52
if ( scrollMode === - 1 ) {
53
53
scrollMode = PDFViewerApplication . store . file . scrollMode ;
@@ -214,19 +214,33 @@ var bookFlip = {
214
214
} ,
215
215
// load pages near shown page
216
216
load : function ( views ) {
217
+ if ( ! this . active ) return ;
217
218
var arr = [ ] ;
218
219
var page = PDFViewerApplication . page ;
219
- var min = ( this . _spread === 0 ) ? 2 : ( page % 2 ) ? 4 : 3 ;
220
- var max = ( this . _spread === 0 ) ? 1 : ( page % 2 ) ? 2 : 3 ;
221
- for ( var i = Math . max ( page - min , 0 ) , ii = Math . min ( page + max , views . length ) ; i < ii ; i ++ ) {
220
+ var min = Math . max ( page - ( ( this . _spread === 0 ) ? 2 : ( page % 2 ) ? 4 : 3 ) , 0 ) ;
221
+ var pos = Math . max ( ( ( this . _spread === 0 ) ? page : page - ( page % 2 ) ) - 1 , 0 ) ;
222
+ var max = Math . min ( page + ( ( this . _spread === 0 ) ? 1 : ( page % 2 ) ? 2 : 3 ) , views . length ) ;
223
+
224
+ for ( var i = pos , ii = max ; i < ii ; i ++ ) {
222
225
arr . push ( {
223
226
id : views [ i ] . id ,
224
- x : views [ i ] . div . offsetLeft + views [ i ] . div . clientLeft ,
225
- y : views [ i ] . div . offsetTop + views [ i ] . div . clientTop ,
227
+ x : 0 ,
228
+ y : 0 ,
226
229
view : views [ i ] ,
227
230
percent : 100
228
231
} ) ;
229
232
}
233
+ for ( var i = min , ii = pos ; i < ii ; i ++ ) {
234
+ arr . push ( {
235
+ id : views [ i ] . id ,
236
+ x : 0 ,
237
+ y : 0 ,
238
+ view : views [ i ] ,
239
+ percent : 100
240
+ } ) ;
241
+ }
242
+ if ( this . _spread !== 0 && ( page % 2 ) && page !== 1 ) [ arr [ 0 ] , arr [ 1 ] ] = [ arr [ 1 ] , arr [ 0 ] ]
243
+
230
244
return arr ;
231
245
} ,
232
246
_spreadType : function ( ) {
0 commit comments