我的问题可能和,
jQuery滚动到元素
和
剑道网格滚动到选定的行
$("#button").click(function() { $('html, body').animate({ scrollTop: $("#elementtoScrollToID").offset().top }, 2000); });
我也试过这个:
this.element.find(".k-grid-content").animate({ scrollTop: this.select().offset().top }); }
但是,上述问题的解决方案确实对我有帮助,我对第二链接提供的小提琴链接有一个问题: http://jsfiddle.net/blackjim/9GCYE/5/ 。
当我试图获得行的视图时,解决方案工作得很好,它位于行表的某个位置。但是,在此之后,(即,在从网格底部获得某一行的焦点后),当我尝试从顶部选择某一行时,控件仍然向下滚动,因此滚动函数的目的在那里变得毫无意义。
我有一个搜索框,在该框中,我可以键入与行数据匹配的内容,如果匹配,则应触发滚动,以便将选定的行发送到用户视图。
以上解决方案中的代码适合此标准。但是,现在,再一次,如果我试图搜索与网格顶部的某一行相匹配的内容,滚动将不会从底部(先前选定的行)到网格顶部的新狭缝行发生。
如何修改上述代码以满足我的需要?
上云精选
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
您使用的解决方案中的滚动逻辑没有完成,因此滚动只会在某些时候起作用。此外,它不会准确地滚动到所选行的顶部。我找到了一个解决方案,每一次都能准确可靠地滚动。我的onChangeSelection函数如下所示:
function onChangeSelection(e) { //calculate scrollTop distance var scrollContentOffset = this.element.find("tbody").offset().top; var selectContentOffset = this.select().offset().top; var distance = selectContentOffset - scrollContentOffset; //animate our scroll this.element.find(".k-grid-content").animate({ scrollTop: distance }, 400);