Skip to content

Instantly share code, notes, and snippets.

@ScottPhillips
Forked from dbushell/gist:4131104
Created November 24, 2012 07:43
Show Gist options
  • Select an option

  • Save ScottPhillips/4138804 to your computer and use it in GitHub Desktop.

Select an option

Save ScottPhillips/4138804 to your computer and use it in GitHub Desktop.
Animate scrolling to an element or offset
/*!
* requires jQuery
* usage:
* Scroller.to({ offset: 100 });
* Scroller.to({ target: $('#main') });
*
* advanced usage (with additional easing function not provided here)
* Scroller.to({ target: $('#main'), delay: 500, multiplier: 1.5, easing: 'easeOutQuad' });
*/
var Scroller = (function()
{
var scroll = {
options: {
el: $('html:not(:animated),body:not(:animated)'),
multiplier: 1,
offset: undefined,
easing: 'swing',
delay: 0
},
_scrolling: false
};
scroll.to = function(options)
{
var height = {
top: $(window).scrollTop(),
doc: $(document).height(),
win: $(window).height()
};
if (height.doc <= height.win) {
return;
}
var config = $.extend({}, scroll.options);
config = $.extend(config, options || {});
config.offset = isNaN(config.offset) ? config.target.offset().top : config.offset;
var offset = config.offset,
distance = Math.abs(height.top - offset);
if (height.top < offset) {
var max = height.doc - height.win;
if (offset > max) {
distance -= offset - max;
}
}
if (distance) {
if (scroll._scrolling) {
scroll.stop();
}
scroll._scrolling = true;
scroll.timeout = window.setTimeout(function() {
config.el.animate({ scrollTop: Math.floor(offset) }, distance * config.multiplier, config.easing, function()
{
scroll._scrolling = false;
});
}, config.delay);
}
};
scroll.stop = function()
{
if (scroll.timeout) {
window.clearTimeout(scroll.timeout);
scroll.timeout = null;
}
scroll.options.el.stop();
scroll._scrolling = false;
};
scroll.isScrolling = function()
{
return scroll._scrolling;
};
return scroll;
})();
@techanzone
Copy link

To watch movies and TV shows, one of the best applications is Smart Play APK. It offers premium content for free, and you can also download the movies in the application.

@securemailpro
Copy link

Thestoogelife content is wild but entertaining. Nice to see a proper write-up instead of clickbait. thestoogelife

@kfc930
Copy link

kfc930 commented Feb 4, 2026

Professional and lifestyle discussions often benefit from resources that highlight practical guidance and evolving perspectives. For readers interested in thoughtful insights, Kathleen Nimmo Lynch provides context designed to support personal growth, organizational awareness, and adaptation in today’s environment. The guide is created to inform and inspire, offering perspectives that connect modern strategies with both professional development and collective experiences.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment