diff --git a/layout-iscroll2.html b/layout-iscroll2.html index 6cb894e..27aa321 100755 --- a/layout-iscroll2.html +++ b/layout-iscroll2.html @@ -130,8 +130,9 @@ $(document).ready(function(){ if(Math.abs(distance) < CLICK_THRESHOLD){ // click... var target = $(evt.target) - target = getPageNumber(target.hasClass('page') ? target - : target.parents('.page')) + target = getPageNumber( + target.hasClass('page') ? target + : target.parents('.page')) if(target != -1){ togglePageView() setCurrentPage(target) @@ -151,6 +152,7 @@ $(document).ready(function(){ } // this makes things snap... + // XXX add innertia if we are not snapping... SNAP_TO_PAGES_IN_RIBBON && setCurrentPage() }, }).start() @@ -159,6 +161,7 @@ $(document).ready(function(){ runMagazineTemplates() setCurrentPage(0) + togglePageView('on') }) diff --git a/layout.js b/layout.js index f790eac..f4a5c25 100755 --- a/layout.js +++ b/layout.js @@ -15,12 +15,10 @@ var togglePageFitMode = createCSSClassToggler( '.page-fit-to-viewer', function(action){ if(action == 'on'){ - console.log('fitting pages to view...') var n = getPageNumber() var scale = getMagazineScale() $('.page:not(.no-resize)').width($('.viewer').width()/scale) } else { - console.log('restoring page sizes...') var n = getPageNumber() $('.page:not(.no-resize)').width('') } diff --git a/lib/jli.js b/lib/jli.js index a9830ca..0c942ae 100755 --- a/lib/jli.js +++ b/lib/jli.js @@ -334,40 +334,21 @@ function setTransitionDuration(elem, ms){ // NOTE: don't understand why am I the one who has to write this... var SPECIAL_KEYS = { - 9: 'Tab', - 13: 'Enter', - 16: 'Shift', - 17: 'Ctrl', - 18: 'Alt', - 20: 'Caps Lock', - 27: 'Esc', - 32: 'Space', - 33: 'PgUp', - 34: 'PgDown', - 35: 'End', - 36: 'Home', - 37: 'Right', - 38: 'Up', - 39: 'Left', - 40: 'Down', - 45: 'Ins', - 46: 'Del', - 80: 'Backspace', - 91: 'Win', - 93: 'Menu', - - 112: 'F1', - 113: 'F2', - 114: 'F3', - 115: 'F4', - 116: 'F5', - 117: 'F6', - 118: 'F7', - 119: 'F8', - 120: 'F9', - 121: 'F10', - 122: 'F11', - 123: 'F12', + // Special Keys... + 9: 'Tab', 33: 'PgUp', 45: 'Ins', + 13: 'Enter', 34: 'PgDown', 46: 'Del', + 16: 'Shift', 35: 'End', 80: 'Backspace', + 17: 'Ctrl', 36: 'Home', 91: 'Win', + 18: 'Alt', 37: 'Right', 93: 'Menu', + 20: 'Caps Lock',38: 'Up', + 27: 'Esc', 39: 'Left', + 32: 'Space', 40: 'Down', + + // Function Keys... + 112: 'F1', 116: 'F5', 120: 'F9', + 113: 'F2', 117: 'F6', 121: 'F10', + 114: 'F3', 118: 'F7', 122: 'F11', + 115: 'F4', 119: 'F8', 123: 'F12', } // XXX some keys look really wrong... @@ -500,6 +481,7 @@ function makeScrollHandler(root, config){ root = $(root) // local data... + var ignoring = false var scrolled var scrolling = false var touch = false @@ -520,6 +502,14 @@ function makeScrollHandler(root, config){ var dt function startMoveHandler(evt, callback){ + // ignore... + if(scroller.options.ignoreElements + && $(evt.target).closest(scroller.options.ignoreElements).length > 0){ + ignoring = true + return + } else { + ignoring = false + } if(event.touches != null){ touch = true } @@ -558,6 +548,9 @@ function makeScrollHandler(root, config){ // XXX slow down drag when at limit... // XXX try and make this adaptive to stay ahead of the lags... function moveHandler(evt){ + if(ignoring){ + return + } evt.preventDefault() t = event.timeStamp || Date.now(); // get the user coords... @@ -599,6 +592,10 @@ function makeScrollHandler(root, config){ return false } function endMoveHandler(evt){ + if(ignoring){ + ignoring = false + return + } // XXX get real transition duration... setTransitionDuration($('.magazine'), 200) x = touch ? event.changedTouches[0].pageX : evt.clientX @@ -628,10 +625,13 @@ function makeScrollHandler(root, config){ hScroll: true, vScroll: true, + ignoreElements: '.noSwipe', + enabelStartEvent: false, enableUserScrollEvent: false, enableEndEvent: false, + // XXX autoCancelEvents: false, eventBounds: 5,