From 6af37f65c14e277042e78f28fc823e648a4c8b1b Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Thu, 14 Feb 2013 05:47:25 +0400 Subject: [PATCH] added basic paging, still not aligning as we should, still untested with scaling... Signed-off-by: Alex A. Naanou --- layout-iscroll.html | 13 +++++++++---- layout.js | 7 +++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/layout-iscroll.html b/layout-iscroll.html index 231eaeb..e1b9459 100755 --- a/layout-iscroll.html +++ b/layout-iscroll.html @@ -4,6 +4,7 @@ PortableMag + @@ -133,10 +134,14 @@ $(document).ready(function(){ snap: '.page', momentum: false, hScrollbar: false, - /*onScrollEnd: function () { - document.querySelector('#indicator > li.active').className = ''; - document.querySelector('#indicator > li:nth-child(' + (this.currPageX+1) + ')').className = 'active'; - }*/ + onScrollEnd: function () { + var n = getPageNumber() + var page = $($('.page')[n]) + $('.current.page').removeClass('current') + page.addClass('current') + // XXX need to calc the propper offset... + myScroll.scrollToElement(page.offset(), 40) + } }) diff --git a/layout.js b/layout.js index 3fc56dc..efc87e1 100755 --- a/layout.js +++ b/layout.js @@ -91,15 +91,18 @@ function getPageNumber(page){ // get the closest page to view... } else { // XXX this gets crazy when magazine is scaled... - var s = $('.viewer').scrollLeft() + //var s = $('.viewer').scrollLeft() + var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left var W = $('.viewer').width() var scale = getMagazineScale() var cur = -1 var res = $('.page').map(function(i, e){ e = $(e) var l = e.position().left + //var l = e.offset().left var w = e.width()*scale - return Math.abs((l+(w/2)) - (s+(W/2))) + //return Math.abs((l+(w/2)) - (s+(W/2))) + return Math.abs((l+(w/2)) - (o+(W/2))) }) cur = res.index(Math.min.apply(Math, res)) return cur