Created
June 28, 2016 17:41
-
-
Save anonymous/8b0b280963af547df0677e725c934d6a to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/kotali
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width"> | |
<title>JS Bin</title> | |
<style id="jsbin-css"> | |
body, html { | |
margin:0; | |
padding:0; | |
overflow:hidden; | |
font-family: sans-serif; | |
font-size: 150px; | |
color: white; | |
font-weight: bold; | |
text-shadow: 5px 5px 30px #000; | |
} | |
section { | |
display: block; | |
height: 100%; | |
} | |
section > div { | |
display: table; | |
width: 100%; | |
height: 100%; | |
} | |
section > div > div { | |
display: table-cell; | |
vertical-align: middle; | |
text-align: center; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="main"> | |
<section style="background: red"><div> | |
<div>1</div> | |
</div></section> | |
<section style="background: blue"><div> | |
<div>2</div> | |
</div></section> | |
<section style="background: yellow"><div> | |
<div>3</div> | |
</div></section> | |
<section style="background: green"><div> | |
<div>4</div> | |
</div></section> | |
</div> | |
<script id="jsbin-javascript"> | |
(function() { $(function() { | |
var sectionContainer = $('.main'), | |
loop = true, | |
throttleTimer, throttleTimeout = 500, | |
scrollSpeed = 400, | |
sections = sectionContainer.children('section'), | |
scrollToSection = function(section) { | |
activeSection.removeClass('active'); | |
activeSection = section.addClass('active'); | |
$('body, html').animate({ | |
scrollTop: activeSection.offset().top | |
}, scrollSpeed); | |
}, | |
onScroll = function (e) { | |
e.preventDefault(); | |
var delta = e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0 ? 1 : -1, | |
targetSection; | |
if (delta < 0) { // DOWN | |
targetSection = activeSection.next('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.first(); | |
} | |
} else { // UP | |
targetSection = activeSection.prev('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.last(); | |
} | |
} | |
if (targetSection.length > 0) { | |
if (throttleTimer) { | |
window.clearTimeout(throttleTimer); | |
} | |
throttleTimer = window.setTimeout(function() { | |
scrollToSection(targetSection); | |
}, throttleTimeout); | |
} | |
}, | |
init = function () { | |
sections.height($(window).height()); | |
$(document).on('mousewheel DOMMouseScroll', onScroll); | |
}, | |
activeSection = sectionContainer.children('section').first().addClass('active'); | |
init(); | |
}); }()); | |
</script> | |
<script id="jsbin-source-css" type="text/css">body, html { | |
margin:0; | |
padding:0; | |
overflow:hidden; | |
font-family: sans-serif; | |
font-size: 150px; | |
color: white; | |
font-weight: bold; | |
text-shadow: 5px 5px 30px #000; | |
} | |
section { | |
display: block; | |
height: 100%; | |
} | |
section > div { | |
display: table; | |
width: 100%; | |
height: 100%; | |
} | |
section > div > div { | |
display: table-cell; | |
vertical-align: middle; | |
text-align: center; | |
}</script> | |
<script id="jsbin-source-javascript" type="text/javascript">(function() { $(function() { | |
var sectionContainer = $('.main'), | |
loop = true, | |
throttleTimer, throttleTimeout = 500, | |
scrollSpeed = 400, | |
sections = sectionContainer.children('section'), | |
scrollToSection = function(section) { | |
activeSection.removeClass('active'); | |
activeSection = section.addClass('active'); | |
$('body, html').animate({ | |
scrollTop: activeSection.offset().top | |
}, scrollSpeed); | |
}, | |
onScroll = function (e) { | |
e.preventDefault(); | |
var delta = e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0 ? 1 : -1, | |
targetSection; | |
if (delta < 0) { // DOWN | |
targetSection = activeSection.next('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.first(); | |
} | |
} else { // UP | |
targetSection = activeSection.prev('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.last(); | |
} | |
} | |
if (targetSection.length > 0) { | |
if (throttleTimer) { | |
window.clearTimeout(throttleTimer); | |
} | |
throttleTimer = window.setTimeout(function() { | |
scrollToSection(targetSection); | |
}, throttleTimeout); | |
} | |
}, | |
init = function () { | |
sections.height($(window).height()); | |
$(document).on('mousewheel DOMMouseScroll', onScroll); | |
}, | |
activeSection = sectionContainer.children('section').first().addClass('active'); | |
init(); | |
}); }()); | |
</script></body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
body, html { | |
margin:0; | |
padding:0; | |
overflow:hidden; | |
font-family: sans-serif; | |
font-size: 150px; | |
color: white; | |
font-weight: bold; | |
text-shadow: 5px 5px 30px #000; | |
} | |
section { | |
display: block; | |
height: 100%; | |
} | |
section > div { | |
display: table; | |
width: 100%; | |
height: 100%; | |
} | |
section > div > div { | |
display: table-cell; | |
vertical-align: middle; | |
text-align: center; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { $(function() { | |
var sectionContainer = $('.main'), | |
loop = true, | |
throttleTimer, throttleTimeout = 500, | |
scrollSpeed = 400, | |
sections = sectionContainer.children('section'), | |
scrollToSection = function(section) { | |
activeSection.removeClass('active'); | |
activeSection = section.addClass('active'); | |
$('body, html').animate({ | |
scrollTop: activeSection.offset().top | |
}, scrollSpeed); | |
}, | |
onScroll = function (e) { | |
e.preventDefault(); | |
var delta = e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0 ? 1 : -1, | |
targetSection; | |
if (delta < 0) { // DOWN | |
targetSection = activeSection.next('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.first(); | |
} | |
} else { // UP | |
targetSection = activeSection.prev('section'); | |
if (targetSection.length === 0 && loop) { | |
targetSection = sections.last(); | |
} | |
} | |
if (targetSection.length > 0) { | |
if (throttleTimer) { | |
window.clearTimeout(throttleTimer); | |
} | |
throttleTimer = window.setTimeout(function() { | |
scrollToSection(targetSection); | |
}, throttleTimeout); | |
} | |
}, | |
init = function () { | |
sections.height($(window).height()); | |
$(document).on('mousewheel DOMMouseScroll', onScroll); | |
}, | |
activeSection = sectionContainer.children('section').first().addClass('active'); | |
init(); | |
}); }()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment