summaryrefslogtreecommitdiff
path: root/src/client/ScrollTo.js
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-12-16 17:37:42 +0200
committerAlon Levy <alon@pobox.com>2014-12-16 17:37:42 +0200
commitade19de410e0a789a921ec1666b278b2a64176d6 (patch)
treec4c54b106de93609ca7bb70a20fd4be696715dbe /src/client/ScrollTo.js
parentc7d026b1d504323a8c61d51b726e5e8d2337fc4b (diff)
moving files around after repository merger
Diffstat (limited to 'src/client/ScrollTo.js')
-rw-r--r--src/client/ScrollTo.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/client/ScrollTo.js b/src/client/ScrollTo.js
new file mode 100644
index 00000000..a015f08c
--- /dev/null
+++ b/src/client/ScrollTo.js
@@ -0,0 +1,17 @@
+$.fn.scrollTo = function( target, options, callback ){
+ if(typeof options == 'function' && arguments.length == 2){ callback = options; options = target; }
+ var settings = $.extend({
+ scrollTarget : target,
+ offsetTop : 50,
+ duration : 500,
+ easing : 'swing'
+ }, options);
+ return this.each(function(){
+ var scrollPane = $(this);
+ var scrollTarget = (typeof settings.scrollTarget == "number") ? settings.scrollTarget : $(settings.scrollTarget);
+ var scrollY = (typeof scrollTarget == "number") ? scrollTarget : scrollTarget.offset().top + scrollPane.scrollTop() - parseInt(settings.offsetTop);
+ scrollPane.animate({scrollTop : scrollY }, parseInt(settings.duration), settings.easing, function(){
+ if (typeof callback == 'function') { callback.call(this); }
+ });
+ });
+} \ No newline at end of file