mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-03 14:59:18 +02:00
104 lines
No EOL
1.9 KiB
JavaScript
104 lines
No EOL
1.9 KiB
JavaScript
EPUBJS.reader.ReaderController = function(book) {
|
|
var $main = $("#main"),
|
|
$divider = $("#divider"),
|
|
$loader = $("#loader"),
|
|
$next = $("#next"),
|
|
$prev = $("#prev");
|
|
|
|
var slideIn = function() {
|
|
if (Reader.settings.sidebarReflow){
|
|
$('#main').removeClass('single');
|
|
} else {
|
|
$main.removeClass("closed");
|
|
}
|
|
};
|
|
|
|
var slideOut = function() {
|
|
if (Reader.settings.sidebarReflow){
|
|
$('#main').addClass('single');
|
|
} else {
|
|
$main.addClass("closed");
|
|
}
|
|
};
|
|
|
|
var showLoader = function() {
|
|
$loader.show();
|
|
hideDivider();
|
|
};
|
|
|
|
var hideLoader = function() {
|
|
$loader.hide();
|
|
|
|
//-- If the book is using spreads, show the divider
|
|
// if(book.settings.spreads) {
|
|
// showDivider();
|
|
// }
|
|
};
|
|
|
|
var showDivider = function() {
|
|
$divider.addClass("show");
|
|
};
|
|
|
|
var hideDivider = function() {
|
|
$divider.removeClass("show");
|
|
};
|
|
|
|
var keylock = false;
|
|
|
|
var arrowKeys = function(e) {
|
|
if(e.keyCode == 37) {
|
|
book.prevPage();
|
|
$prev.addClass("active");
|
|
|
|
keylock = true;
|
|
setTimeout(function(){
|
|
keylock = false;
|
|
$prev.removeClass("active");
|
|
}, 100);
|
|
|
|
e.preventDefault();
|
|
}
|
|
if(e.keyCode == 39) {
|
|
book.nextPage();
|
|
$next.addClass("active");
|
|
|
|
keylock = true;
|
|
setTimeout(function(){
|
|
keylock = false;
|
|
$next.removeClass("active");
|
|
}, 100);
|
|
|
|
e.preventDefault();
|
|
}
|
|
}
|
|
|
|
document.addEventListener('keydown', arrowKeys, false);
|
|
|
|
$next.on("click", function(e){
|
|
book.nextPage();
|
|
e.preventDefault();
|
|
});
|
|
|
|
$prev.on("click", function(e){
|
|
book.prevPage();
|
|
e.preventDefault();
|
|
});
|
|
|
|
book.on("renderer:spreads", function(bool){
|
|
if(bool) {
|
|
showDivider();
|
|
} else {
|
|
hideDivider();
|
|
}
|
|
});
|
|
|
|
return {
|
|
"slideOut" : slideOut,
|
|
"slideIn" : slideIn,
|
|
"showLoader" : showLoader,
|
|
"hideLoader" : hideLoader,
|
|
"showDivider" : showDivider,
|
|
"hideDivider" : hideDivider,
|
|
"arrowKeys" : arrowKeys
|
|
};
|
|
}; |