--- /dev/null
+(function($) {
+ $.fn.autoscroll = function(synchronizeWith, options) {
+ var self = $(this);
+ var selfContainer = self.parent();
+ var synchronizeWith = $(synchronizeWith);
+ var synchronizeWithContainer = synchronizeWith.parent();
+ var eventContainer = synchronizeWithContainer;
+
+ // Hack for iframes
+ if (self.is('iframe')) {
+ selfContainer = $('body', $('iframe').contents());
+ self = selfContainer;
+ }
+
+ if (synchronizeWith.is('iframe')) {
+ eventContainer = synchronizeWith.contents();
+ synchronizeWithContainer = $('body', eventContainer);
+ synchronizeWith = synchronizeWithContainer;
+ }
+
+ 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());
+ synchronizeWithContainer.data('autoscroll:lastCheckedScrollTop', synchronizeWithContainer.scrollTop());
+ });
+ };
+})(jQuery);
+
<script src="/static/js/jquery.fieldselection.js" type="text/javascript" charset="utf-8"></script>
<script src="/static/js/jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
<script src="/static/js/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
+ <script src="/static/js/jquery.autoscroll.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
function addEditorButton(label, fn) {
$('<button type="button">' + label + '</button>').click(function(event) {
});
$('iframe').load(function() {
- $($('iframe').contents()).scroll(function() {
- var percentScrolled = $('body', this).scrollTop() / $('body', this).height();
- $('#images-wrap').scrollTop(percentScrolled * $('#images').height());
- });
+ $('#images').autoscroll('iframe');
setTimeout(function() {resizePanels();}, 10);
})