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

Javascript 如何在聚合物元件(聚合物2.0)中实现此代码,javascript,animation,polymer,polymer-2.x,Javascript,Animation,Polymer,Polymer 2.x,目前,我正在尝试将此JavaScript代码放入我的聚合元素中,但是,由于错误“UncaughtTypeError:无法读取null的属性'offsetHeight',它总是失败 JavaScript代码: addEventListener('WebComponentsReady', function() { var appHeader = document.querySelector('app-header'); var bgHeader = document.querySelector('

目前,我正在尝试将此JavaScript代码放入我的聚合元素中,但是,由于错误“UncaughtTypeError:无法读取null的属性'offsetHeight',它总是失败

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);

});
addEventListener('WebComponentsReady',函数(){
var appHeader=document.querySelector('app-header');
var bgHeader=document.querySelector('.bg header');
var appHeaderHeight=appHeader.offsetHeight;
var bgHeader=bgHeader.offsetHeight;
var transformBgHeader=函数(){
var y=window.scrollY;
如果(y)bHeaderHeight-appHeaderHeight;
}
transformBgHeader();
addEventListener('scroll',transformBgHeader);
});

注:抱歉我的英语不好

请尝试为匹配选择器、app header和.bg header的元素提供一个id。假设为#appHeader和#bg header。然后,像这样访问offsetHeight属性

this.$.appHeader.offsetHeight
this.$.bgHeader.offsetHeight
基于类的元素应该使用本机DOM API,而不是 遗留元素可以选择使用本机API

参考文献