Просмотр исходного кода

Merge branch 'master' into feature-search-header

Sotaro KARASAWA 9 лет назад
Родитель
Сommit
9f3f6f9507
2 измененных файлов с 34 добавлено и 1 удалено
  1. 33 0
      resource/js/crowi-form.js
  2. 1 1
      resource/js/crowi.js

+ 33 - 0
resource/js/crowi-form.js

@@ -383,4 +383,37 @@ $(function() {
       $(this).removeClass('dragover');
     });
   }
+
+  var enableScrollSync = function() {
+    var getMaxScrollTop = function(dom) {
+      var rect = dom.getBoundingClientRect();
+
+      return dom.scrollHeight - rect.height;
+    };
+
+    var getScrollRate = function(dom) {
+      var maxScrollTop = getMaxScrollTop(dom);
+      var rate = dom.scrollTop / maxScrollTop;
+
+      return rate;
+    };
+
+    var getScrollTop = function(dom, rate) {
+      var maxScrollTop = getMaxScrollTop(dom);
+      var top = maxScrollTop * rate;
+
+      return top;
+    };
+
+    var editor = document.querySelector('#form-body');
+    var preview = document.querySelector('#preview-body');
+
+    editor.addEventListener('scroll', function(event) {
+      var rate = getScrollRate(this);
+      var top = getScrollTop(preview, rate);
+
+      preview.scrollTop = top;
+    });
+  };
+  enableScrollSync();
 });

+ 1 - 1
resource/js/crowi.js

@@ -354,7 +354,7 @@ $(function() {
     var $link = $(this);
     var text = $link.text();
     var path = $link.data('path');
-    var shortPath = $link.data('short-path');
+    var shortPath = new String($link.data('short-path'));
 
     var escape = function(s) {
       return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');