为什么有时滚动顶部/滚动左不可写
Why sometime scrollTop/scrollLeft not writable?
我正在使用dhtmlx甘特图UI组件,该组件具有任务列表和图形图表。任务列表和图形图表包含在两个单独的div 元素中,这些元素同步以进行并行滚动。通过滚动图表区,任务列表会自动滚动,从而导致任务行位置与甘特线位置匹配。
检查组件源代码,我发现同步是通过以下代码实现的:
this.oData.onscroll = function() {
self.panelTime.scrollLeft = this.scrollLeft;
self.panelNames.scrollTop = this.scrollTop;
};
UI 控件中的所有 HTML 标记都由 JavaScript 动态生成。一切都运行良好,除了渲染 800 左右的任务列表需要很长时间。
为了缩短渲染时间,我决定构建自己的服务器端渲染模块,以生成与最初生成的客户端相同的 HTML 标记。这个标记是使用普通的jquery $.get()从客户端获取的,并使用$(el).html()注入到页面。然后,我将必要的事件处理程序作为原始客户端版本。
现在的问题是并行滚动不起作用。我可以捕获图表区域上的滚动事件,但无法设置任务列表区域的 scrollTop 属性。我在Firebug中测试手动强制scrollTop属性,但值没有改变。似乎 scrollTop 属性是只读的。
对此有什么解释吗?
不能向下滚动到元素内容的底部下方(或右侧)。 如果元素具有 overflow: visible
(默认值),或者至少与其内容一样大,则两个滚动属性都将停留在 0。 同样,即使隐藏了一些东西可以滚动到视图中,您也无法滚动到末尾;如果将 scrollTop 或 scrollLeft 设置为大于有意义的值,它将减小到有意义的最大值。
我的猜测是,在您的情况下,您尝试在其内容加载之前滚动div,并且它拒绝滚动,因为没有任何内容可以滚动到视图中。
相关文章:
- 滚动固定滚动顶部()的跳跃效果
- 当偏移量改变时滚动顶部
- 滚动顶部在滑动后不起作用切换
- 使滚动顶部始终检查
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 滚动顶部闪烁-Internet Explorer
- j查询滚动顶部麻烦
- 我如何使用滚动顶部()获取HTML文档的位置
- 滚动顶部到元素 - 20px
- JQuery 偏移和滚动顶部问题
- 滚动事件仅在滚动顶部时触发
- 单击并滚动顶部
- 每次在顶部滚动顶部重置
- IE <选择>滚动顶部
- 打开对话框正在更改我的滚动顶部位置
- 为什么有时滚动顶部/滚动左不可写
- 滚动顶部 Jquery
- 数据表在页面更改时滚动顶部
- 使用滚动顶部显示滚动的像素
- 可以 jQuery invalidHandler 通过父窗口中的 iframe 滚动顶部