Skip to content

Instantly share code, notes, and snippets.

@RatzeR
Created March 26, 2015 10:49
Show Gist options
  • Save RatzeR/17073b5deaa09f315b49 to your computer and use it in GitHub Desktop.
Save RatzeR/17073b5deaa09f315b49 to your computer and use it in GitHub Desktop.
Scroll: {
init: function() {
App.Scroll.calcScroll();
App.Scroll.onScroll();
},
calcScroll: function() {
var _windowHeight = $(window).height();
var _windowScrollTop = $(window).scrollTop();
var scrollTo = $('._scroll-to');
var scrollToHeight = $('._scroll-to').height();
var scrollToOffset = scrollTo.offset();
var scrollToTrigger = $('._scroll-to-trigger');
var scrollDistance = scrollToOffset.top + scrollToHeight;
var distanceFromTop = _windowScrollTop + _windowHeight;
var centerScroll = (_windowHeight / 2) - (scrollToHeight / 2);
// console.log("Höhe des sichtbaren Bereiches: " + _windowHeight);
// console.log("Scrolldistanz bis anfang Sichtbar: " + scrollToOffset.top);
// console.log("Scrolldistanz bis ganz Sichtbar: " + scrollDistance);
// console.log("Gescrollte Distanz: " + _windowScrollTop);
// console.log("Abstand von top 0: " + distanceFromTop);
if(distanceFromTop > scrollDistance) {
scrollToTrigger.slideUp(200);
} else if (distanceFromTop < scrollDistance) {
scrollToTrigger.slideDown(200);
}
//Scroll To Function
scrollToTrigger.on('click', function(){
$('html, body').stop(true, false).animate({
scrollTop: (scrollTo.offset().top - centerScroll)
}, 'slow', function() {
console.log("Done");
});
});
},
onScroll: function() {
$(window).on('scroll', function() {
App.Scroll.calcScroll();
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment