PortableMag/magazine.html

183 lines
3.2 KiB
HTML
Raw Normal View History

<html>
<head>
<title>Magazine</title>
<link rel="stylesheet" href="magazine.css">
<script src="jquery.js"></script>
<script src="jquery.touchSwipe.js"></script>
<script>
$(document).ready(function(){
$('.viewer')
.swipe({
/* for some reason these do not work within pages... */
swipeLeft: nextPage,
swipeRight: prevPage,
swipeUp: function(){fitNPages(6)},
swipeDown: function(){fitNPages(1)},
click: function(evt, elem){
if($(elem).hasClass('page')){
var pages = $('.page')
setCurrentPage(pages.index(elem))
}
return true
}
})
})
function setCurrentPage(n){
var pages = $('.page')
var cur = $(pages[n])
$('.current.page').removeClass('current')
cur.addClass('current')
$('.magazine').css({left: -n*pages.width()})
return cur
}
function nextPage(){
var pages = $('.page')
var cur = $('.current.page')
return setCurrentPage(Math.min(pages.index(cur)+1, pages.length-1))
}
function prevPage(){
var pages = $('.page')
var cur = $('.current.page')
return setCurrentPage(Math.max(pages.index(cur)-1, 0))
}
function setElementScale(elem, scale){
return elem.css({
'transform': 'scale('+scale+')',
'-moz-transform': 'scale('+scale+')',
'-o-transform': 'scale('+scale+')',
'-ms-transform': 'scale('+scale+')',
'-webkit-transform': 'scale('+scale+')',
})
}
function fitNPages(n){
if(n==null){
n = 1
}
var pages = $('.page')
var scale = $('.viewer').width()/(pages.width()*n)
setElementScale($('.scaler'), scale)
}
// XXX create magazine...
function createMagazine(){
}
// XXX create article (magazine, title, position)...
function createArticle(magazine, title){
}
// XXX create page (article, template, position)...
function createPage(article, template){
}
</script>
</head>
<body>
<div class="viewer">
<div class="scaler">
<div class="aligner">
<div class="magazine">
<div class="cover page current">
Magazine Cover
</div>
<!-- XXX do we need a Magazine Credits page??? -->
<div class="article">
<div class="cover page">
Article Cover<br>
some more text...
</div>
<!-- XXX do we need an Article Credits page??? -->
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
</div>
<div class="article">
<div class="cover page">
Article Cover
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
</div>
<div class="article">
<div class="cover page">
Article Cover
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
</div>
<div class="article">
<div class="cover page">
Article Cover
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
<div class="page">
Page
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>