(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();
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);
$('iframe').load(function() {
$('#images').autoscroll('iframe');
-
+ $('.toggleAutoscroll').toggle(function() {
+ $(this).html('Synchronizuj przewijanie');
+ $('#images').disableAutoscroll();
+ }, function() {
+ $(this).html('Nie synchronizuj przewijania');
+ $('#images').enableAutoscroll();
+ })
setTimeout(function() {resizePanels();}, 10);
})
<div id="status-bar">
{{ form.user.errors }} {{ form.commit_message.errors }}
- <p>Użytkownik: {{ form.user }} Opis zmian: {{ form.commit_message }} <input type="submit" value="Zapisz"/></p>
+ <p>
+ Użytkownik: {{ form.user }}
+ Opis zmian: {{ form.commit_message }}
+ <input type="submit" value="Zapisz"/>
+ <a href="#" class="toggleAutoscroll" style="float: right">Nie synchronizuj przewijania</a>
+ </p>
</div>
</form>
{% endblock maincontent %}