【问题标题】:Scrolling a Div programatically using say Javascript使用说 Javascript 以编程方式滚动 Div
【发布时间】:2011-02-21 22:40:15
【问题描述】:

您好,我有一个嵌入在 Div 中的 jqgrid。我正在从网格中删除记录并使用 grid.Trigger('reload') 重新加载网格。 网格的宽度相当高,所以它有一个滚动条。现在我在删除记录之前水平滚动了网格的末端。每次我删除记录并重新加载网格时,列标题及其值都会稍微错位。当我将滚动条移回原始位置或稍微移动滚动条时,它们会正确对齐。

所以我认为在重新加载网格时将滚动条移动到初始位置会更好。如何使用 javascript 以编程方式移动滚动条。或者有没有其他方法可以解决我的问题?

【问题讨论】:

标签: javascript asp.net .net html jqgrid


【解决方案1】:

来自daniweb(未经测试):

document.getElementById('id1').scrollTop = document.getElementById('id2').offsetTop;

其中 id1 是 div; id2 是要在 div 中滚动到的元素。

【讨论】:

    【解决方案2】:

    在我看来,您主要是 jqGrid 错误计算宽度的问题,而不是水平滚动的问题。查看我在Correctly calling setGridWidth on a jqGrid inside a jQueryUI Dialog 中发布的脚本。它们并不完美,但在大多数情况下可以修复网格宽度的计算。此外,我建议您验证是否更改(可能是间接的)<td> 元素的默认填充属性。如果是这样,则可能需要调整 jqGrid 的cellLayout 选项(请参阅http://www.trirand.com/blog/?page_id=393/feature-request/celllayout/&value=cellLayout&type=1&include=1&search=1&ret=all)。

    UPDATED:还有一个提示:尝试使用最新的未压缩版本的 jqGrid,您可以从http://github.com/tonytomov/jqGrid 下载它。它在setGridWidth 中有小修复(请参阅http://www.trirand.com/blog/?page_id=393/bugs/some-bugfixes-for-3-6-5/)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 2011-01-15
      • 2010-11-13
      相关资源
      最近更新 更多