From 076d2a0228848ff22a4ee82063ebc0eaa3666eb8 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Tue, 12 Feb 2013 03:05:20 +0400 Subject: [PATCH] now scaling mostly works... Signed-off-by: Alex A. Naanou --- layout.html | 4 ++++ layout.js | 27 +++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/layout.html b/layout.html index 498f4bb..f1c1c54 100755 --- a/layout.html +++ b/layout.html @@ -74,6 +74,10 @@ $(document).ready(function(){ }, function(k){console.log(k)})) + if(!NAVIGATE_RELATIVE_TO_VISIBLE){ + $('.viewer').css({overflow: 'hidden'}) + } + // expand the templates... runMagazineTemplates() diff --git a/layout.js b/layout.js index 2680df3..b951c43 100755 --- a/layout.js +++ b/layout.js @@ -19,7 +19,7 @@ var togglePageFitMode = createCSSClassToggler( if(action == 'on'){ console.log('fitting pages to view...') var n = getPageNumber() - var scale = getElementScale($('.magazine')) + var scale = getMagazineScale() $('.page:not(.no-resize)').width($('.viewer').width()/scale) setCurrentPage(n) } else { @@ -43,7 +43,7 @@ function getPageNumber(page){ } else { var s = $('.viewer').scrollLeft() var W = $('.viewer').width() - var scale = getElementScale($('.magazine')) + var scale = getMagazineScale() var cur = -1 var res = $('.page').map(function(i, e){ e = $(e) @@ -56,6 +56,24 @@ function getPageNumber(page){ } } +function getMagazineScale(){ + return getElementScale($('.magazine')) +} +function setMagazineScale(scale){ + var mag = $('.magazine') + // NOTE: we are updating margins to make the scroll area adapt to new scale... + var w = mag.width() + var m = -(w - (w*scale))/2 + $('.viewer').width()/2 + mag.css({ + 'margin-left': m, + 'margin-right': m + }) + setElementScale(mag, scale) + setCurrentPage() +} + + + /********************************************************* actions ***/ @@ -64,7 +82,7 @@ function setCurrentPage(n){ if(n == null){ n = getPageNumber() } - var scale = getElementScale($('.magazine')) + var scale = getMagazineScale() var l = $('.page').length n = n < 0 ? l - n : n n = n < -l ? 0 : n @@ -72,7 +90,8 @@ function setCurrentPage(n){ $('.current.page').removeClass('current') $($('.page')[n]).addClass('current') var cur = $('.current.page') - if(USE_PAGE_ALIGN){ + if(USE_PAGE_ALIGN + && $('.page').width()*2*scale > $('.viewer').width()){ var align = getPageAlign() } else { var align = 'center'