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){
// 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')
})

View File

@ -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('')
}

View File

@ -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,