X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/a39ce20a7f4d01f30508c4d003e6d973298866c6..3517c7fa3ec165a2650799a8d821d21116789c3b:/project/static/js/jquery.autoscroll.js?ds=inline

diff --git a/project/static/js/jquery.autoscroll.js b/project/static/js/jquery.autoscroll.js
index c342bdf5..f8c07fbd 100644
--- a/project/static/js/jquery.autoscroll.js
+++ b/project/static/js/jquery.autoscroll.js
@@ -1,6 +1,7 @@
 (function($) {
     $.fn.autoscroll = function(synchronizeWith, options) {
-        var self = $(this);
+        var $this = $(this);
+        var self = $this;
         var selfContainer = self.parent();
         var synchronizeWith = $(synchronizeWith);
         var synchronizeWithContainer = synchronizeWith.parent();
@@ -17,15 +18,30 @@
             synchronizeWithContainer = $('body', eventContainer);
             synchronizeWith = synchronizeWithContainer;
         }
-
-        synchronizeWithContainer.data('autoscroll.lastCheckedScrollTop', synchronizeWithContainer.scrollTop());
+        
+        $this.data('autoscroll:enabled', true);
+        synchronizeWithContainer.data('autoscroll:lastCheckedScrollTop', synchronizeWithContainer.scrollTop());
         
         eventContainer.scroll(function() {
-            var distanceScrolled = synchronizeWithContainer.scrollTop() - synchronizeWithContainer.data('autoscroll:lastCheckedScrollTop');
-            var percentScrolled = distanceScrolled / synchronizeWith.height();
-            selfContainer.scrollTop(selfContainer.scrollTop() + percentScrolled * self.height());
+            if ($this.data('autoscroll:enabled')) {
+                var distanceScrolled = synchronizeWithContainer.scrollTop() - synchronizeWithContainer.data('autoscroll:lastCheckedScrollTop');
+                var percentScrolled = distanceScrolled / synchronizeWith.height();
+                selfContainer.scrollTop(selfContainer.scrollTop() + percentScrolled * self.height());
+            }
             synchronizeWithContainer.data('autoscroll:lastCheckedScrollTop', synchronizeWithContainer.scrollTop());
         });
-    };
+    },
+    
+    $.fn.enableAutoscroll = function() {
+        $(this).data('autoscroll:enabled', true);
+    },
+        
+    $.fn.disableAutoscroll = function() {
+        $(this).data('autoscroll:enabled', false);
+    },
+    
+    $.fn.toggleAutoscroll = function() {
+        $(this).data('autoscroll:enabled', !$(this).data('autoscroll:enabled'));
+    }
 })(jQuery);