summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/js/index.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/public/js/index.js b/public/js/index.js
index d6efbef2..e873e732 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -795,7 +795,7 @@ function checkEditorStyle() {
if (scrollbarStyle == 'overlay' || currentMode == modeType.both) {
ui.area.codemirrorScroll.css('height', desireHeight + 'px');
ui.area.codemirrorScroll.css('min-height', '');
- editor.refresh();
+ checkEditorScrollbar();
} else if (scrollbarStyle == 'native') {
ui.area.codemirrorScroll.css('height', '');
ui.area.codemirrorScroll.css('min-height', desireHeight + 'px');
@@ -835,7 +835,7 @@ function checkEditorStyle() {
ui.area.view.scroll();
});
}
- editor.refresh();
+ checkEditorScrollbar();
}
});
ui.area.resize.handle = $('.ui-resizable-handle');
@@ -876,6 +876,14 @@ function checkSyncToggle() {
}
}
+function checkEditorScrollbar() {
+ // workaround simple scroll bar knob
+ // will get wrong position when editor height changed
+ var scrollInfo = editor.getScrollInfo();
+ editor.scrollTo(null, scrollInfo.top - 1);
+ editor.scrollTo(null, scrollInfo.top);
+}
+
function checkTocStyle() {
//toc right
var paddingRight = parseFloat(ui.area.markdown.css('padding-right'));
@@ -2509,6 +2517,7 @@ editor.on('changes', function (cm, changes) {
viewportMargin = newViewportMargin;
windowResize();
}
+ checkEditorScrollbar();
});
editor.on('focus', function (cm) {
for (var i = 0; i < onlineUsers.length; i++) {