1

CodeMirrorを使用してライブ プレビュー エディターを構築しています。プレビューを一番下までスクロールできるように、CodeMirror エディターが一番下までスクロールされているかどうかを確認する必要があります。

どうすればこれを判断できますか?

4

2 に答える 2

0

aljordan82 のソリューションにいくつかの小さな調整を加える必要がありました。

var editor = CodeMirror.fromTextArea(document.getElementById('post'), {
    'mode': 'gfm',
    'lineNumbers': true,
    'theme': 'default',
    'lineWrapping': true,
});

var $preview = $('#preview-div');
var $scroller = $(editor.getScrollerElement());

$.fn.scrollHeight = function() {
    return this[0].scrollHeight;
};

var atBottom = $scroller.scrollHeight() - $scroller.scrollTop() - $scroller.outerHeight() <= 0
    && $preview.scrollHeight() - $preview.scrollTop() - $preview.outerHeight() <= 0;
$preview.html(html);
if (atBottom) {
    $preview.scrollTop($preview.scrollHeight());
}

プレビュー div では数値がまったく同じではなかったので、<= 0代わりにそうしました。(2px ずれている、境界線のせいでしょうか?)

于 2013-10-26T23:26:09.170 に答える