mirror of
https://github.com/pdf2htmlEX/pdf2htmlEX.git
synced 2024-12-21 20:50:07 +00:00
working on remove offset()
This commit is contained in:
parent
af60845550
commit
75908842f5
1
TODO
1
TODO
@ -7,7 +7,6 @@ more information on demo page:
|
|||||||
- browser requirements
|
- browser requirements
|
||||||
|
|
||||||
page idx vs no
|
page idx vs no
|
||||||
move $container outside Page
|
|
||||||
tracking current page
|
tracking current page
|
||||||
more js annoatation
|
more js annoatation
|
||||||
pdf:mobile device
|
pdf:mobile device
|
||||||
|
@ -190,43 +190,16 @@
|
|||||||
* in our coordinate system
|
* in our coordinate system
|
||||||
*/
|
*/
|
||||||
position : function () {
|
position : function () {
|
||||||
return this.offset_to(this.$container.get(0));
|
var rect = this.$p[0].getBoundingClientRect();
|
||||||
|
// getBoundingClientRect will be called on $container
|
||||||
|
// for a lot of times(= #pages), just hope JIT works
|
||||||
|
var rect_c = this.$container[0].getBoundingClientRect();
|
||||||
|
return [rect_c.left-rect.left, rect_c.top-rect.top];
|
||||||
/*
|
/*
|
||||||
var off = this.$p.offset();
|
var off = this.$p.offset();
|
||||||
var off_c = this.$container.offset();
|
var off_c = this.$container.offset();
|
||||||
return [off_c.left-off.left, off_c.top-off.top];
|
return [off_c.left-off.left, off_c.top-off.top];
|
||||||
*/
|
*/
|
||||||
},
|
|
||||||
/*
|
|
||||||
* Similar to position, but specify container as ele
|
|
||||||
* ele must be an ancestor node of current page
|
|
||||||
* TODO: remove position
|
|
||||||
* TODO: consider border
|
|
||||||
* TODO: consider scroll
|
|
||||||
*/
|
|
||||||
offset_to : function (ele) {
|
|
||||||
var elep = ele.offsetParent;
|
|
||||||
var cur_e = this.$p.get(0);
|
|
||||||
var cur_top = 0;
|
|
||||||
var cur_left = 0;
|
|
||||||
while(true) {
|
|
||||||
switch(cur_e) {
|
|
||||||
case null:
|
|
||||||
return;
|
|
||||||
case elep:
|
|
||||||
cur_top -= ele.offsetTop;
|
|
||||||
cur_left -= ele.offsetLeft;
|
|
||||||
/* fall through */
|
|
||||||
case ele:
|
|
||||||
window['console']['log'](cur_top+' '+cur_left);
|
|
||||||
return [cur_top, cur_left];
|
|
||||||
default:
|
|
||||||
cur_top += cur_e.offsetTop;
|
|
||||||
cur_left += cur_e.offsetLeft;
|
|
||||||
cur_e = cur_e.offsetParent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -287,7 +260,7 @@
|
|||||||
find_pages : function() {
|
find_pages : function() {
|
||||||
var new_pages = [];
|
var new_pages = [];
|
||||||
var new_page_map = {};
|
var new_page_map = {};
|
||||||
var $pl= $('.'+CSS_CLASS_NAMES.page_frame, this.$container);
|
var $pl= this.$container.find('.'+CSS_CLASS_NAMES.page_frame);
|
||||||
/* don't use for(..in..) since $pl is more than an Array */
|
/* don't use for(..in..) since $pl is more than an Array */
|
||||||
for(var i = 0, l = $pl.length; i < l; ++i) {
|
for(var i = 0, l = $pl.length; i < l; ++i) {
|
||||||
var p = new Page($pl[i], this.$container);
|
var p = new Page($pl[i], this.$container);
|
||||||
@ -503,7 +476,7 @@
|
|||||||
var active_page = this.get_active_page();
|
var active_page = this.get_active_page();
|
||||||
if(!active_page) return;
|
if(!active_page) return;
|
||||||
|
|
||||||
var prev_offset = active_page.$p.offset();
|
var prev_offset = active_page.$p[0].getBoundingClientRect();
|
||||||
var old_scale = this.scale;
|
var old_scale = this.scale;
|
||||||
var pl = this.pages;
|
var pl = this.pages;
|
||||||
|
|
||||||
@ -539,7 +512,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Correct container scroll to keep view aligned while zooming
|
// Correct container scroll to keep view aligned while zooming
|
||||||
var correction_top = active_page.$p.offset().top - prev_offset.top;
|
var correction_top = active_page.$p[0].getBoundingClientRect().top - prev_offset.top;
|
||||||
this.$container.scrollTop( this.$container.scrollTop() + correction_top + offsetY );
|
this.$container.scrollTop( this.$container.scrollTop() + correction_top + offsetY );
|
||||||
|
|
||||||
// Take the center of the view as a reference
|
// Take the center of the view as a reference
|
||||||
|
Loading…
Reference in New Issue
Block a user