extjs - 以编程方式将 Sencha Touch Ext.Panel 滚动到锚定元素

标签 extjs sencha-touch

我有一个可滚动的面板,显示的内容比屏幕大

new Ext.Panel({
  scroll: 'vertical',
  html: 'very larger content here with an anchor. <p id="anchor">'
});

并且(在单击事件上)我想(以编程方式)将面板滚动到某个 HTML 元素。最好是动画。在 jquery 中,我会按照以下方式做一些事情

$('html,body').animate({ scrollTop: $("#anchor").offset().top }, 'slow');

最佳答案

原来你能做的是

function scrollIntoView(el,cmp) {
  var dy = cmp.scroller.offset.y + el.getY() - cmp.body.getY();
  cmp.scroller.setOffset({x:0, y:-dy}, true);
}

scrollIntoView(Ext.fly('anchor'), Ext.getCmp('panel'));

这可能与 scrollIntoView() 在内部所做的非常相似 - 虽然没有查看该代码。但它没有动画。

关于extjs - 以编程方式将 Sencha Touch Ext.Panel 滚动到锚定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764160/

相关文章:

javascript - 执行函数时返回字符串

javascript - 如何使用 isDirty 事件或其他事件或方法检查数据是否已更新?在 Javascript extjs 中

android - 在 Sencha Touch 构建命令中发现额外的位置参数包错误

tree - 如何在Sencha Touch中更新嵌套列表/树存储?

javascript - Sencha Touch 2.4,突出显示列表中的新记录

android - 唯一标识每个设备,访问sencha web应用程序

ExtJS - 在数据库中保存 ExtJS 组件的状态

ajax - 树加载器 : Not firing ajax request for child nodes?

javascript - 如何在extjs 4中制作不同颜色的柱形图

javascript - move.js 可以与 Sencha Touch 一起使用吗?