Skip to content

Instantly share code, notes, and snippets.

@lolikroli
Created January 24, 2014 12:05
Show Gist options
  • Save lolikroli/8596127 to your computer and use it in GitHub Desktop.
Save lolikroli/8596127 to your computer and use it in GitHub Desktop.
Script that allows scrolling of divs to top, or fading img, or many other implementations . //demo http://jsfiddle.net/vaibviad/JqU2T/8/
$(document).ready(function () {
var divs = $('.mydiv');
var dir = 'up'; // wheel scroll direction
var div = 0; // current div
$(document.body).on('DOMMouseScroll mousewheel', function (e) {
if (e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0) {
dir = 'down';
} else {
dir = 'up';
}
// find currently visible div :
div = -1;
divs.each(function(i){
if (div<0 && ($(this).offset().top >= $(window).scrollTop())) {
div = i;
}
});
if (dir == 'up' && div > 0) {
div--;
}
if (dir == 'down' && div < divs.length) {
div++;
}
//console.log(div, dir, divs.length);
$('html,body').stop().animate({
scrollTop: divs.eq(div).offset().top
}, 200);
return false;
});
$(window).resize(function () {
$('html,body').scrollTop(divs.eq(div).offset().top);
});
});
<div class="mydiv" style="text-align:center; color:green">Gallery</div>
<div class="mydiv" style="background-color: #aaa">Page 1</div>
<div class="mydiv" style="background-color: #444">Page 2</div>
<div class="mydiv" style="background-color: blue">Page 3</div>
<div class="mydiv" style="background-color: #ccc">Page 4</div>
<div class="mydiv" style="background-color: yellow">Page 5</div>
html, body, body>div {
height:100%;
color:yellow;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment