我想用JavaScript创建一个粘性元素。该计划是要获得我的元素的初始位置。当我的window.scrollY
大于初始位置时,该元素应变为粘性。到目前为止一切顺利。
除了window.scrollY
大于this.selectionInitialPosition
时什么都没有发生,所有的工作都与预期的一样。
这是我所拥有的:
计算属性:
selectionInitialPosition() {
return this.$refs.selectionHeader.getBoundingClientRect().top;
},
返回一个数字,如预期的那样:例如:440
这是我的scrollHandler:
handleScrollEvent() {
console.log('initial', this.selectionInitialPosition);
console.log('scrollY', window.scrollY);
console.log('?', window.scollY >= this.selectionInitialPosition);
if (this.selectionInitialPosition < window.scollY) {
this.isSticky = true;
}
}
看看console.log('?', window.scollY >= this.selectionInitialPosition);
这是我在Chrome控制台中看到的内容:
请向我解释。我在这里疯了。
编辑:正如@jom所指出的,我的if语句中有一个错字。
应该是window.scrollY >= this.selectionInitialPosition