Skip to content

Instantly share code, notes, and snippets.

@ScottPhillips
Forked from dbushell/gist:4131104
Created November 24, 2012 07:43
Show Gist options
  • Save ScottPhillips/4138804 to your computer and use it in GitHub Desktop.
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;
})();
@Steve5463
Copy link

The honista 6.0 apk download is not available on Play Store.
You must download it from trusted third-party sites.
Always check sources to avoid malware.

@Steve5463
Copy link

Updates to toca boca mod apk often include new features. This keeps players engaged and encourages continued exploration. It’s a constantly growing digital universe.

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