确定代码镜像是否滚动到底部
Determine if CodeMirror is scrolled to bottom
我正在使用CodeMirror构建一个实时预览编辑器。我需要确定 CodeMirror 编辑器是否滚动到最底部,以便我也可以将预览滚动到底部。
我如何确定这一点?
你需要 codeMirror 中的 scroller 元素,然后在 scroll 事件上绑定一个函数。
斯菲德尔
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: "text/html"
});
var scrollElement = editor.getScrollerElement();
console.log(scrollElement )
$(scrollElement).bind('scroll', function(e) {
var elem = $(e.currentTarget);
if (elem[0].scrollHeight - elem.scrollTop() == elem.outerHeight()) {
console.log("bottom");
}
});
不得不对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关闭,也许是由于边框?
相关文章:
- 将视口底部滚动到元素底部
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- javascript跨浏览器确定用户是否滚动到页面底部
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- 如何防止firefox在打开大型弹出窗口时滚动到页面底部
- 滚动到顶部或底部后的简单效果
- jQuery滚动到聊天框底部
- 如何仅在向上滚动时将页脚粘贴到窗口底部会导致页脚不显示
- 页面加载时自动滚动到底部
- 当滚动条到达容器底部时设置动画
- 表-滚动到底部
- 滚动至页面底部附近
- 刷新滚动到底部
- 在底部滚动
- 在不使用Javascript的情况下将滚动条滚动到底部
- JQuery 自动滚动到底部(但在鼠标滚动时禁用)
- 页脚在滚动底部时没有设置高度动画
- Javascript -在另一个浏览器/页面中滚动底部
- 如何检测何时滚动底部高度为<30.
- 如何获得窗口.滚动底部高度