我有一个可滚动的面板,显示的内容比屏幕大
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/