added scroller.options.ignoreElements, and some minor edits...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2013-02-20 06:33:23 +04:00
parent 448dd014fc
commit cf50545084
3 changed files with 39 additions and 38 deletions

View File

@ -130,8 +130,9 @@ $(document).ready(function(){
if(Math.abs(distance) < CLICK_THRESHOLD){ if(Math.abs(distance) < CLICK_THRESHOLD){
// click... // click...
var target = $(evt.target) var target = $(evt.target)
target = getPageNumber(target.hasClass('page') ? target target = getPageNumber(
: target.parents('.page')) target.hasClass('page') ? target
: target.parents('.page'))
if(target != -1){ if(target != -1){
togglePageView() togglePageView()
setCurrentPage(target) setCurrentPage(target)
@ -151,6 +152,7 @@ $(document).ready(function(){
} }
// this makes things snap... // this makes things snap...
// XXX add innertia if we are not snapping...
SNAP_TO_PAGES_IN_RIBBON && setCurrentPage() SNAP_TO_PAGES_IN_RIBBON && setCurrentPage()
}, },
}).start() }).start()
@ -159,6 +161,7 @@ $(document).ready(function(){
runMagazineTemplates() runMagazineTemplates()
setCurrentPage(0) setCurrentPage(0)
togglePageView('on')
}) })

View File

@ -15,12 +15,10 @@ var togglePageFitMode = createCSSClassToggler(
'.page-fit-to-viewer', '.page-fit-to-viewer',
function(action){ function(action){
if(action == 'on'){ if(action == 'on'){
console.log('fitting pages to view...')
var n = getPageNumber() var n = getPageNumber()
var scale = getMagazineScale() var scale = getMagazineScale()
$('.page:not(.no-resize)').width($('.viewer').width()/scale) $('.page:not(.no-resize)').width($('.viewer').width()/scale)
} else { } else {
console.log('restoring page sizes...')
var n = getPageNumber() var n = getPageNumber()
$('.page:not(.no-resize)').width('') $('.page:not(.no-resize)').width('')
} }

View File

@ -334,40 +334,21 @@ function setTransitionDuration(elem, ms){
// NOTE: don't understand why am I the one who has to write this... // NOTE: don't understand why am I the one who has to write this...
var SPECIAL_KEYS = { var SPECIAL_KEYS = {
9: 'Tab', // Special Keys...
13: 'Enter', 9: 'Tab', 33: 'PgUp', 45: 'Ins',
16: 'Shift', 13: 'Enter', 34: 'PgDown', 46: 'Del',
17: 'Ctrl', 16: 'Shift', 35: 'End', 80: 'Backspace',
18: 'Alt', 17: 'Ctrl', 36: 'Home', 91: 'Win',
20: 'Caps Lock', 18: 'Alt', 37: 'Right', 93: 'Menu',
27: 'Esc', 20: 'Caps Lock',38: 'Up',
32: 'Space', 27: 'Esc', 39: 'Left',
33: 'PgUp', 32: 'Space', 40: 'Down',
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', // Function Keys...
113: 'F2', 112: 'F1', 116: 'F5', 120: 'F9',
114: 'F3', 113: 'F2', 117: 'F6', 121: 'F10',
115: 'F4', 114: 'F3', 118: 'F7', 122: 'F11',
116: 'F5', 115: 'F4', 119: 'F8', 123: 'F12',
117: 'F6',
118: 'F7',
119: 'F8',
120: 'F9',
121: 'F10',
122: 'F11',
123: 'F12',
} }
// XXX some keys look really wrong... // XXX some keys look really wrong...
@ -500,6 +481,7 @@ function makeScrollHandler(root, config){
root = $(root) root = $(root)
// local data... // local data...
var ignoring = false
var scrolled var scrolled
var scrolling = false var scrolling = false
var touch = false var touch = false
@ -520,6 +502,14 @@ function makeScrollHandler(root, config){
var dt var dt
function startMoveHandler(evt, callback){ 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){ if(event.touches != null){
touch = true touch = true
} }
@ -558,6 +548,9 @@ function makeScrollHandler(root, config){
// XXX slow down drag when at limit... // XXX slow down drag when at limit...
// XXX try and make this adaptive to stay ahead of the lags... // XXX try and make this adaptive to stay ahead of the lags...
function moveHandler(evt){ function moveHandler(evt){
if(ignoring){
return
}
evt.preventDefault() evt.preventDefault()
t = event.timeStamp || Date.now(); t = event.timeStamp || Date.now();
// get the user coords... // get the user coords...
@ -599,6 +592,10 @@ function makeScrollHandler(root, config){
return false return false
} }
function endMoveHandler(evt){ function endMoveHandler(evt){
if(ignoring){
ignoring = false
return
}
// XXX get real transition duration... // XXX get real transition duration...
setTransitionDuration($('.magazine'), 200) setTransitionDuration($('.magazine'), 200)
x = touch ? event.changedTouches[0].pageX : evt.clientX x = touch ? event.changedTouches[0].pageX : evt.clientX
@ -628,10 +625,13 @@ function makeScrollHandler(root, config){
hScroll: true, hScroll: true,
vScroll: true, vScroll: true,
ignoreElements: '.noSwipe',
enabelStartEvent: false, enabelStartEvent: false,
enableUserScrollEvent: false, enableUserScrollEvent: false,
enableEndEvent: false, enableEndEvent: false,
// XXX
autoCancelEvents: false, autoCancelEvents: false,
eventBounds: 5, eventBounds: 5,