【问题标题】:How to get scrollLeft() from kendoVirtualScrollable如何从 kendoVirtualScrollable 获取 scrollLeft()
【发布时间】:2018-04-06 20:39:53
【问题描述】:

我有一个带有虚拟滚动功能的 kendoGrid。现在我正试图去网格上的某个位置。我能够通过使用获得最高位置:

 //Get the virtualScrollable
var vs = mainGrid.wrapper.find('.k-grid-content').data('kendoVirtualScrollable');
var scrollTop = vs.verticalScrollbar.scrollTop();

//go to the position
$("#mainGrid div.k-virtual-scrollable-wrap").animate({scrollTop: scrollTop}, 0);
$("#mainGrid div.k-scrollbar-vertical").animate({scrollTop: scrollTop}, 0);

这非常适合让我自动向下滚动。

现在我想向右滚动...

不!

我找不到 scrollLeft()!由于某种原因,kendoVirtualScrollable 只有verticalScrollbar 而没有horizo​​ntalScrollbar。

另外,当我使用开发人员工具尝试单击水平滚动条时,它一直指向具有 scrollLeft() = 0 的 .k-virtual-scrollable-wrap。

有人知道如何获取 kendoVirtualScrollable 的 scrollLeft() 吗??

【问题讨论】:

  • 只是好奇,这样做的目的是什么?

标签: jquery kendo-grid telerik-grid


【解决方案1】:

这对我有用:

https://dojo.telerik.com/abEYO/4

    $('.k-virtual-scrollable-wrap').animate({
        scrollLeft: 300
    }, 1000);

setTimeout(function () {
      alert($('.k-virtual-scrollable-wrap').scrollLeft());
      }, 5000);

【讨论】:

  • 是的,我可以向左滚动。但我正在尝试获取水平滚动条的当前位置。所以我可以做类似 var Horizo​​ntalbar = Horizo​​ntalbar.scrollLeft(); $('.k-virtual-scrollable-wrap').animate({ scrollLeft: Horizo​​ntalbar }, 1000);
  • 不幸的是 $('.k-virtual-scrollable-wrap').scrollLeft() 总是为零,因为这是整个环绕的左侧滚动而不是水平滚动条。我只是想获得水平滚动条的位置,然后再次为其设置动画。
  • hmm 在我的示例中它可以工作(警报中为 300),我刚刚更新了上面的代码
  • 你必须设置一个超时时间,否则页面加载时它只会是 0。您必须等待它滚动,然后才能获得位置。这是你做的吗?
  • 好的,我现在看到了。现在我想知道为什么我的应用程序中总是看到 0。
猜你喜欢
  • 2013-05-17
  • 2011-07-05
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
相关资源
最近更新 更多