new page structure
This commit is contained in:
parent
9874924d27
commit
7f00dcffc4
3 changed files with 183 additions and 41 deletions
|
|
@ -17,6 +17,13 @@
|
|||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
#timeline, #tl {
|
||||
height: 100%;
|
||||
width:100%;
|
||||
}
|
||||
#tl {
|
||||
display: block;
|
||||
}
|
||||
.tl-timeline {
|
||||
|
||||
}
|
||||
|
|
@ -27,24 +34,31 @@
|
|||
.tl-timeline h1, .tl-timeline h2, .tl-timeline h3, .tl-timeline h4, .tl-timeline h5, .tl-timeline h6 {
|
||||
text-transform: initial !important;
|
||||
}
|
||||
|
||||
.active {
|
||||
display: block
|
||||
}
|
||||
#intro, #contact {
|
||||
display: none;
|
||||
}
|
||||
.tl-timeline .tl-timegroup-message {
|
||||
color: #000 !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="intro">
|
||||
{{ intro.body | safe }}
|
||||
<div id="title" class="page tl-timeline">
|
||||
<div class="content">
|
||||
{{ title.body | safe }}
|
||||
</div>
|
||||
</div>
|
||||
<div id="timeline"></div>
|
||||
<div id="contact">
|
||||
<div id="about" class="page tl-timeline">
|
||||
<br>
|
||||
<br>
|
||||
{{ about.body | safe }}
|
||||
</div>
|
||||
<div id="timeline" class="page">
|
||||
<div id="tl"></div>
|
||||
</div>
|
||||
<div id="imprint" class="page tl-timeline">
|
||||
<br>
|
||||
<br>
|
||||
{{ imprint.body | safe }}
|
||||
</div>
|
||||
<div id="contact" class="page tl-timeline">
|
||||
<div class="content">
|
||||
<form class="contact-form" action="/disabled" method="post">
|
||||
<input type="text" placeholder="Your name" name="name" required><br>
|
||||
|
|
@ -55,6 +69,21 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="menu-overlay" class="tl-timeline">
|
||||
<ul>
|
||||
<li><a href="#start" target="_self">timeline</a></li>
|
||||
<li><a href="#about" target="_self">about</a></li>
|
||||
<li><a href="#contact" target="_self">contact</a></li>
|
||||
<li><a href="#imprint" target="_self">imprint</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="menu">
|
||||
<svg viewBox="0 0 100 100" width="64" height="64">
|
||||
<rect y="20" width="80" height="10"></rect>
|
||||
<rect y="40" width="80" height="10"></rect>
|
||||
<rect y="60" width="80" height="10"></rect>
|
||||
</svg>
|
||||
</div>
|
||||
<script src="{% static 'timeline/js/timeline.js' %}"></script>
|
||||
<script>
|
||||
function submitContact(event) {
|
||||
|
|
@ -91,39 +120,62 @@
|
|||
var timeline
|
||||
|
||||
function load_timeline() {
|
||||
timeline = new TL.Timeline('timeline', data, {
|
||||
timeline = new TL.Timeline('tl', data, {
|
||||
hash_bookmark: true,
|
||||
debug: false,
|
||||
timenav_height: 100,
|
||||
});
|
||||
}
|
||||
document.querySelector('#intro a[href="#title"]').addEventListener('click', event => {
|
||||
document.querySelector('#intro').style.display = 'none'
|
||||
document.querySelector('#contact').style.display = 'none'
|
||||
document.querySelector('#timeline').style.display = 'block'
|
||||
function openPage(qs) {
|
||||
var active = document.querySelector(qs)
|
||||
document.querySelectorAll('.page').forEach(page => {
|
||||
if (page != active) {
|
||||
if (page.classList.contains('active')) {
|
||||
page.classList.remove('active')
|
||||
active.classList.add('active')
|
||||
}
|
||||
}
|
||||
})
|
||||
active.classList.add('active')
|
||||
}
|
||||
document.querySelector('#about a[href="#title"]').addEventListener('click', event => {
|
||||
openPage('#timeline')
|
||||
load_timeline()
|
||||
})
|
||||
if (document.location.hash.slice(1).length) {
|
||||
load_timeline()
|
||||
}
|
||||
function hashchange(event) {
|
||||
console.log('hc', document.location.hash.slice(1).length, document.location.hash.slice(1))
|
||||
if (document.location.hash.slice(1) == 'contact') {
|
||||
document.querySelector('#intro').style.display = 'none'
|
||||
document.querySelector('#contact').style.display = 'block'
|
||||
document.querySelector('#timeline').style.display = 'none'
|
||||
var page
|
||||
if (document.location.hash.slice(1).length) {
|
||||
page = document.querySelector(document.location.hash + '.page')
|
||||
}
|
||||
if (page) {
|
||||
openPage(document.location.hash)
|
||||
} else if (document.location.hash.slice(1).length) {
|
||||
document.querySelector('#intro').style.display = 'none'
|
||||
document.querySelector('#contact').style.display = 'none'
|
||||
document.querySelector('#timeline').style.display = 'block'
|
||||
openPage('#timeline')
|
||||
if (!timeline) {
|
||||
load_timeline()
|
||||
}
|
||||
} else {
|
||||
document.querySelector('#intro').style.display = 'block'
|
||||
document.querySelector('#contact').style.display = 'none'
|
||||
document.querySelector('#timeline').style.display = 'none'
|
||||
openPage("#title")
|
||||
}
|
||||
}
|
||||
window.addEventListener('hashchange', hashchange)
|
||||
hashchange()
|
||||
|
||||
document.querySelector('#menu').addEventListener('click', event => {
|
||||
var overlay = document.querySelector('#menu-overlay')
|
||||
if (overlay.classList.contains('active')) {
|
||||
overlay.classList.remove('active')
|
||||
} else {
|
||||
overlay.classList.add('active')
|
||||
}
|
||||
})
|
||||
document.querySelectorAll('#menu-overlay a').forEach(a => {
|
||||
a.addEventListener('click', event => {
|
||||
var overlay = document.querySelector('#menu-overlay')
|
||||
overlay.classList.remove('active')
|
||||
})
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue