如何在聚合物元素(聚合物2.0)中实现此代码



当前我正在尝试将此JavaScript代码放在我的聚合物元素中,但是,由于" und offult typeError:无法读取属性'null'oftestey'的属性'。

JavaScript代码:

addEventListener('WebComponentsReady', function() {
var appHeader = document.querySelector('app-header');
var bgHeader = document.querySelector('.bg-header');
var appHeaderHeight = appHeader.offsetHeight;
var bgHeaderHeight = bgHeader.offsetHeight;
var transformBgHeader = function() {
var y = window.scrollY;
if (y <= bgHeaderHeight) {
  y = 1.5 * y;
}
var s = bgHeader.style;
s.transform = s.webkitTransform = 'translate3d(0,' + -y + 'px,0)';
appHeader.shadow = y > bgHeaderHeight - appHeaderHeight;
}
transformBgHeader();
addEventListener('scroll', transformBgHeader);
});

P.S:对不起,我的英语不好

尝试为匹配选择器,应用程序头和.bg-header的元素提供ID。假设#AppHeader和#BGHeader。并且,访问这样的属性。

this.$.appHeader.offsetHeight
this.$.bgHeader.offsetHeight

基于类的元素应使用本机DOM API而不是 聚合物。旧元素可以选择使用本机API。

参考。https://www.polymer-project.org/2.0/docs/upgrade#polymer-dom-apis

最新更新