| Line 1: | Line 1: | ||
{{:Team:UCSC/Reset-Styles}} | {{:Team:UCSC/Reset-Styles}} | ||
{{:Team:UCSC/new-testing.css}} | {{:Team:UCSC/new-testing.css}} | ||
| + | |||
<html lang="en"> | <html lang="en"> | ||
| + | |||
<head> | <head> | ||
<meta charset="UTF-8"> | <meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"> | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
<script>document.getElementsByTagName("html")[0].className += " js";</script> | <script>document.getElementsByTagName("html")[0].className += " js";</script> | ||
| − | </ | + | <link rel="stylesheet" href="assets/css/style.css"> |
| + | </head> | ||
<body> | <body> | ||
<section class="cd-h-timeline js-cd-h-timeline margin-bottom-md"> | <section class="cd-h-timeline js-cd-h-timeline margin-bottom-md"> | ||
| Line 32: | Line 35: | ||
</div> <!-- .cd-h-timeline__line --> | </div> <!-- .cd-h-timeline__line --> | ||
</div> <!-- .cd-h-timeline__dates --> | </div> <!-- .cd-h-timeline__dates --> | ||
| − | + | ||
<ul> | <ul> | ||
<li><a href="#0" class="text-replace cd-h-timeline__navigation cd-h-timeline__navigation--prev cd-h-timeline__navigation--inactive">Prev</a></li> | <li><a href="#0" class="text-replace cd-h-timeline__navigation cd-h-timeline__navigation--prev cd-h-timeline__navigation--inactive">Prev</a></li> | ||
| Line 45: | Line 48: | ||
<h2 class="cd-h-timeline__event-title">Horizontal Timeline</h2> | <h2 class="cd-h-timeline__event-title">Horizontal Timeline</h2> | ||
<em class="cd-h-timeline__event-date">January 16th, 2014</em> | <em class="cd-h-timeline__event-date">January 16th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 55: | Line 58: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">February 28th, 2014</em> | <em class="cd-h-timeline__event-date">February 28th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 65: | Line 68: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">March 20th, 2014</em> | <em class="cd-h-timeline__event-date">March 20th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 75: | Line 78: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">May 20th, 2014</em> | <em class="cd-h-timeline__event-date">May 20th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 85: | Line 88: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">July 9th, 2014</em> | <em class="cd-h-timeline__event-date">July 9th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 95: | Line 98: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">August 30th, 2014</em> | <em class="cd-h-timeline__event-date">August 30th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 105: | Line 108: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">September 15th, 2014</em> | <em class="cd-h-timeline__event-date">September 15th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 115: | Line 118: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">November 1st, 2014</em> | <em class="cd-h-timeline__event-date">November 1st, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 125: | Line 128: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">December 10th, 2014</em> | <em class="cd-h-timeline__event-date">December 10th, 2014</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 135: | Line 138: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">January 29th, 2015</em> | <em class="cd-h-timeline__event-date">January 29th, 2015</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 145: | Line 148: | ||
<h2 class="cd-h-timeline__event-title">Event title here</h2> | <h2 class="cd-h-timeline__event-title">Event title here</h2> | ||
<em class="cd-h-timeline__event-date">March 3rd, 2015</em> | <em class="cd-h-timeline__event-date">March 3rd, 2015</em> | ||
| − | <p class="cd-h-timeline__event-description color-contrast-medium"> | + | <p class="cd-h-timeline__event-description color-contrast-medium"> |
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus. | ||
</p> | </p> | ||
| Line 155: | Line 158: | ||
</body> | </body> | ||
<script> | <script> | ||
| − | (function() { | + | (function() { |
// Horizontal Timeline - by CodyHouse.co | // Horizontal Timeline - by CodyHouse.co | ||
var HorizontalTimeline = function(element) { | var HorizontalTimeline = function(element) { | ||
| Line 161: | Line 164: | ||
this.datesContainer = this.element.getElementsByClassName('cd-h-timeline__dates')[0]; | this.datesContainer = this.element.getElementsByClassName('cd-h-timeline__dates')[0]; | ||
this.line = this.datesContainer.getElementsByClassName('cd-h-timeline__line')[0]; // grey line in the top timeline section | this.line = this.datesContainer.getElementsByClassName('cd-h-timeline__line')[0]; // grey line in the top timeline section | ||
| − | this.fillingLine = this.datesContainer.getElementsByClassName('cd-h-timeline__filling-line')[0]; // green filling line in the top timeline section | + | this.fillingLine = this.datesContainer.getElementsByClassName('cd-h-timeline__filling-line')[0]; // green filling line in the top timeline section |
this.date = this.line.getElementsByClassName('cd-h-timeline__date'); | this.date = this.line.getElementsByClassName('cd-h-timeline__date'); | ||
this.selectedDate = this.line.getElementsByClassName('cd-h-timeline__date--selected')[0]; | this.selectedDate = this.line.getElementsByClassName('cd-h-timeline__date--selected')[0]; | ||
| Line 169: | Line 172: | ||
this.contentWrapper = this.element.getElementsByClassName('cd-h-timeline__events')[0]; | this.contentWrapper = this.element.getElementsByClassName('cd-h-timeline__events')[0]; | ||
this.content = this.contentWrapper.getElementsByClassName('cd-h-timeline__event'); | this.content = this.contentWrapper.getElementsByClassName('cd-h-timeline__event'); | ||
| − | + | ||
this.eventsMinDistance = 60; // min distance between two consecutive events (in px) | this.eventsMinDistance = 60; // min distance between two consecutive events (in px) | ||
this.eventsMaxDistance = 200; // max distance between two consecutive events (in px) | this.eventsMaxDistance = 200; // max distance between two consecutive events (in px) | ||
this.translate = 0; // this will be used to store the translate value of this.line | this.translate = 0; // this will be used to store the translate value of this.line | ||
this.lineLength = 0; //total length of this.line | this.lineLength = 0; //total length of this.line | ||
| − | + | ||
// store index of selected and previous selected dates | // store index of selected and previous selected dates | ||
this.oldDateIndex = Util.getIndexInArray(this.date, this.selectedDate); | this.oldDateIndex = Util.getIndexInArray(this.date, this.selectedDate); | ||
| Line 186: | Line 189: | ||
// set dates left position | // set dates left position | ||
var left = 0; | var left = 0; | ||
| − | for (var i = 0; i < timeline.dateValues.length; i++) { | + | for (var i = 0; i < timeline.dateValues.length; i++) { |
var j = (i == 0) ? 0 : i - 1; | var j = (i == 0) ? 0 : i - 1; | ||
var distance = daydiff(timeline.dateValues[j], timeline.dateValues[i]), | var distance = daydiff(timeline.dateValues[j], timeline.dateValues[i]), | ||
distanceNorm = (Math.round(distance/timeline.minLapse) + 2)*timeline.eventsMinDistance; | distanceNorm = (Math.round(distance/timeline.minLapse) + 2)*timeline.eventsMinDistance; | ||
| − | + | ||
if(distanceNorm < timeline.eventsMinDistance) { | if(distanceNorm < timeline.eventsMinDistance) { | ||
distanceNorm = timeline.eventsMinDistance; | distanceNorm = timeline.eventsMinDistance; | ||
| Line 199: | Line 202: | ||
timeline.date[i].setAttribute('style', 'left:' + left+'px'); | timeline.date[i].setAttribute('style', 'left:' + left+'px'); | ||
} | } | ||
| − | + | ||
// set line/filling line dimensions | // set line/filling line dimensions | ||
timeline.line.style.width = (left + timeline.eventsMinDistance)+'px'; | timeline.line.style.width = (left + timeline.eventsMinDistance)+'px'; | ||
| Line 249: | Line 252: | ||
left = dateStyle.getPropertyValue("left"), | left = dateStyle.getPropertyValue("left"), | ||
width = dateStyle.getPropertyValue("width"); | width = dateStyle.getPropertyValue("width"); | ||
| − | + | ||
left = Number(left.replace('px', '')) + Number(width.replace('px', ''))/2; | left = Number(left.replace('px', '')) + Number(width.replace('px', ''))/2; | ||
timeline.fillingLine.style.transform = 'scaleX('+(left/timeline.lineLength)+')'; | timeline.fillingLine.style.transform = 'scaleX('+(left/timeline.lineLength)+')'; | ||
| Line 317: | Line 320: | ||
resetTimelinePosition(timeline, direction); | resetTimelinePosition(timeline, direction); | ||
}; | }; | ||
| − | + | ||
function resetTimelinePosition(timeline, direction) { //translate timeline according to new selected event position | function resetTimelinePosition(timeline, direction) { //translate timeline according to new selected event position | ||
var eventStyle = window.getComputedStyle(timeline.selectedDate, null), | var eventStyle = window.getComputedStyle(timeline.selectedDate, null), | ||
| Line 334: | Line 337: | ||
var singleDate = timeline.date[i].getAttribute('data-date'), | var singleDate = timeline.date[i].getAttribute('data-date'), | ||
dateComp = singleDate.split('T'); | dateComp = singleDate.split('T'); | ||
| − | + | ||
if( dateComp.length > 1 ) { //both DD/MM/YEAR and time are provided | if( dateComp.length > 1 ) { //both DD/MM/YEAR and time are provided | ||
var dayComp = dateComp[0].split('/'), | var dayComp = dateComp[0].split('/'), | ||
| Line 353: | Line 356: | ||
function calcMinLapse(timeline) { // determine the minimum distance among events | function calcMinLapse(timeline) { // determine the minimum distance among events | ||
var dateDistances = []; | var dateDistances = []; | ||
| − | for(var i = 1; i < timeline.dateValues.length; i++) { | + | for(var i = 1; i < timeline.dateValues.length; i++) { |
var distance = daydiff(timeline.dateValues[i-1], timeline.dateValues[i]); | var distance = daydiff(timeline.dateValues[i-1], timeline.dateValues[i]); | ||
if(distance > 0) dateDistances.push(distance); | if(distance > 0) dateDistances.push(distance); | ||
| Line 371: | Line 374: | ||
if(horizontalTimeline.length > 0) { | if(horizontalTimeline.length > 0) { | ||
for(var i = 0; i < horizontalTimeline.length; i++) { | for(var i = 0; i < horizontalTimeline.length; i++) { | ||
| − | horizontalTimelineTimelineArray.push(new HorizontalTimeline(horizontalTimeline[i])); | + | horizontalTimelineTimelineArray.push(new HorizontalTimeline(horizontalTimeline[i])); |
} | } | ||
// navigate the timeline when inside the viewport using the keyboard | // navigate the timeline when inside the viewport using the keyboard | ||
| Line 414: | Line 417: | ||
}()); | }()); | ||
</script> | </script> | ||
| − | |||
| − | |||
(function() { | (function() { | ||
// Swipe Content Plugin - by CodyHouse.co | // Swipe Content Plugin - by CodyHouse.co | ||
| Line 484: | Line 485: | ||
cancelDragging(content); | cancelDragging(content); | ||
// credits: https://css-tricks.com/simple-swipe-with-vanilla-javascript/ | // credits: https://css-tricks.com/simple-swipe-with-vanilla-javascript/ | ||
| − | var dx = parseInt(unify(event).clientX), | + | var dx = parseInt(unify(event).clientX), |
dy = parseInt(unify(event).clientY); | dy = parseInt(unify(event).clientY); | ||
| − | + | ||
// check if there was a left/right swipe | // check if there was a left/right swipe | ||
if(content.delta && (content.delta[0] || content.delta[0] === 0)) { | if(content.delta && (content.delta[0] || content.delta[0] === 0)) { | ||
var s = Math.sign(dx - content.delta[0]); | var s = Math.sign(dx - content.delta[0]); | ||
| − | + | ||
if(Math.abs(dx - content.delta[0]) > 30) { | if(Math.abs(dx - content.delta[0]) > 30) { | ||
| − | (s < 0) ? emitSwipeEvents(content, 'swipeLeft', [dx, dy]) : emitSwipeEvents(content, 'swipeRight', [dx, dy]); | + | (s < 0) ? emitSwipeEvents(content, 'swipeLeft', [dx, dy]) : emitSwipeEvents(content, 'swipeRight', [dx, dy]); |
} | } | ||
| − | + | ||
content.delta[0] = false; | content.delta[0] = false; | ||
} | } | ||
| Line 515: | Line 516: | ||
if(!content.dragging) return; | if(!content.dragging) return; | ||
// emit dragging event with coordinates | // emit dragging event with coordinates | ||
| − | (!window.requestAnimationFrame) | + | (!window.requestAnimationFrame) |
| − | ? content.intervalId = setTimeout(function(){emitDrag.bind(content, event);}, 250) | + | ? content.intervalId = setTimeout(function(){emitDrag.bind(content, event);}, 250) |
: content.intervalId = window.requestAnimationFrame(emitDrag.bind(content, event)); | : content.intervalId = window.requestAnimationFrame(emitDrag.bind(content, event)); | ||
}; | }; | ||
| Line 524: | Line 525: | ||
}; | }; | ||
| − | function unify(event) { | + | function unify(event) { |
// unify mouse and touch events | // unify mouse and touch events | ||
| − | return event.changedTouches ? event.changedTouches[0] : event; | + | return event.changedTouches ? event.changedTouches[0] : event; |
}; | }; | ||
| Line 536: | Line 537: | ||
window.SwipeContent = SwipeContent; | window.SwipeContent = SwipeContent; | ||
| − | + | ||
//initialize the SwipeContent objects | //initialize the SwipeContent objects | ||
var swipe = document.getElementsByClassName('js-swipe-content'); | var swipe = document.getElementsByClassName('js-swipe-content'); | ||
| Line 545: | Line 546: | ||
} | } | ||
}()); | }()); | ||
| + | <script> | ||
</script> | </script> | ||
<script> | <script> | ||
| − | // Utility function | + | // Utility function |
function Util () {}; | function Util () {}; | ||
| − | /* | + | /* |
class manipulation functions | class manipulation functions | ||
*/ | */ | ||
| Line 568: | Line 570: | ||
Util.removeClass = function(el, className) { | Util.removeClass = function(el, className) { | ||
var classList = className.split(' '); | var classList = className.split(' '); | ||
| − | if (el.classList) el.classList.remove(classList[0]); | + | if (el.classList) el.classList.remove(classList[0]); |
else if(Util.hasClass(el, classList[0])) { | else if(Util.hasClass(el, classList[0])) { | ||
var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)'); | var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)'); | ||
| Line 587: | Line 589: | ||
}; | }; | ||
| − | /* | + | /* |
DOM manipulation | DOM manipulation | ||
*/ | */ | ||
| Line 599: | Line 601: | ||
}; | }; | ||
| − | /* | + | /* |
Animate height of an element | Animate height of an element | ||
*/ | */ | ||
| Line 606: | Line 608: | ||
currentTime = null; | currentTime = null; | ||
| − | var animateHeight = function(timestamp){ | + | var animateHeight = function(timestamp){ |
| − | if (!currentTime) currentTime = timestamp; | + | if (!currentTime) currentTime = timestamp; |
var progress = timestamp - currentTime; | var progress = timestamp - currentTime; | ||
var val = parseInt((progress/duration)*change + start); | var val = parseInt((progress/duration)*change + start); | ||
| Line 617: | Line 619: | ||
} | } | ||
}; | }; | ||
| − | + | ||
//set the height of the element before starting animation -> fix bug on Safari | //set the height of the element before starting animation -> fix bug on Safari | ||
element.setAttribute("style", "height:"+start+"px;"); | element.setAttribute("style", "height:"+start+"px;"); | ||
| Line 623: | Line 625: | ||
}; | }; | ||
| − | /* | + | /* |
Smooth Scroll | Smooth Scroll | ||
*/ | */ | ||
| Line 630: | Line 632: | ||
var start = window.scrollY || document.documentElement.scrollTop, | var start = window.scrollY || document.documentElement.scrollTop, | ||
currentTime = null; | currentTime = null; | ||
| − | + | ||
var animateScroll = function(timestamp){ | var animateScroll = function(timestamp){ | ||
| − | if (!currentTime) currentTime = timestamp; | + | if (!currentTime) currentTime = timestamp; |
var progress = timestamp - currentTime; | var progress = timestamp - currentTime; | ||
if(progress > duration) progress = duration; | if(progress > duration) progress = duration; | ||
| Line 647: | Line 649: | ||
}; | }; | ||
| − | /* | + | /* |
Focus utility classes | Focus utility classes | ||
*/ | */ | ||
| Line 661: | Line 663: | ||
}; | }; | ||
| − | /* | + | /* |
Misc | Misc | ||
*/ | */ | ||
| Line 678: | Line 680: | ||
}; | }; | ||
| − | /* | + | /* |
Polyfills | Polyfills | ||
*/ | */ | ||
| Line 693: | Line 695: | ||
if (el.matches(s)) return el; | if (el.matches(s)) return el; | ||
el = el.parentElement || el.parentNode; | el = el.parentElement || el.parentNode; | ||
| − | } while (el !== null && el.nodeType === 1); | + | } while (el !== null && el.nodeType === 1); |
return null; | return null; | ||
}; | }; | ||
| Line 713: | Line 715: | ||
} | } | ||
| − | /* | + | /* |
Animation curves | Animation curves | ||
*/ | */ | ||
| Line 723: | Line 725: | ||
}; | }; | ||
</script> | </script> | ||
| − | |||
</html> | </html> | ||
Revision as of 04:13, 14 October 2019
-
Horizontal Timeline
January 16th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
February 28th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
March 20th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
May 20th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
July 9th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
August 30th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
September 15th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
November 1st, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
December 10th, 2014Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
January 29th, 2015Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.
-
Event title here
March 3rd, 2015Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum praesentium officia, fugit recusandae ipsa, quia velit nulla adipisci? Consequuntur aspernatur at, eaque hic repellendus sit dicta consequatur quae, ut harum ipsam molestias maxime non nisi reiciendis eligendi! Doloremque quia pariatur harum ea amet quibusdam quisquam, quae, temporibus dolores porro doloribus.