diaspora/public/javascripts/widgets/back-to-top.js

33 lines
759 B
JavaScript

(function() {
var BackToTop = function() {
var self = this;
this.subscribe("widget/ready", function(evt, button) {
$.extend(self, {
button: button,
body: $("html, body"),
window: $(window)
});
self.button.click(self.backToTop);
var throttledScroll = _.throttle($.proxy(self.throttledScroll, self), 250);
self.window.scroll(throttledScroll);
});
this.backToTop = function(evt) {
evt.preventDefault();
self.body.animate({scrollTop: 0});
};
this.toggleVisibility = function() {
self.button[
(self.body.scrollTop() > 1000) ?
'addClass' :
'removeClass'
]('visible')
};
};
Diaspora.Widgets.BackToTop = BackToTop;
})();