window.scrollTo()打破了Polymer Project core-scroll-header-panel

时间:2015-03-22 14:19:16

标签: javascript scroll polymer core-scroll-header-panel

我正在使用Polymer项目,并且我试图使用javascript滚动到页面上的元素。

我试图在使用window.scrollTo(x,y)的网页上致电core-scroll-header-panel,但在尝试执行此操作时只需获取undefined

这是一个显示问题的plunker。点击CLICK ME链接尝试滚动到100,0。你会发现这并没有发生。

如果您注释掉<core-scroll-header-panel>行,那么您会看到点击相同的链接会向下滚动您的页面。这是相关的plunker

我知道我可以使用document.getElementById('some-element').scrollIntoView(),但这并不能帮助我实现我想要实现的目标,即动画向下滚动页面到元素。我也知道window.scrollTo()不会被动画化,但我可以使用该调用制作我自己的动画滚动方法。

关于为什么会发生这种情况的任何想法,以及我如何解决这个问题以获得理想的行为? jQuery不是一个选项。

1 个答案:

答案 0 :(得分:0)

这个问题是安德烈亚斯在评论中提到的。

滚动没有绑定到窗口,但被绑定到阴影dom中的一个组件。

在此特定情况下,window.scrollTo调用需要替换为:

document.querySelector('core-scroll-header-panel').scroller.scrollTop = 100;

以下是相关的plunker