dom.scrollTop已经有值但是打印一直是0

// 监听滚动

mainDom = document.querySelector('main');

document.addEventListener('mousewheel', this.scrollFun, false)

scrollFun = ()=>{

console.dir(dom)

console.log(dom.scrollTop)

}

打印的时候,console.dir打印出的dom的scrollTop已经有值,但是console.log打印出的反而是0.

为什么呢,怎么样才能及时的拿到这个值


回答:

确认一下mainDom是不是滚动的元素
比如segmentfault的这个页面,scrollTop的值在html标签上,不在body上。
dom.scrollTop已经有值但是打印一直是0
dom.scrollTop已经有值但是打印一直是0

emmmm 仔细看一下这段代码有3个可能有问题的地方:
1,是<main>标签吗?有没有漏写#或者.,
2,怎么两个变量一个叫mainDom一个叫dom,
3,this.scrollFun是下面的scrollFun函数吗


回答:

console.log(document.documentElement.scrollTop)


回答:

dom.scrollTop已经有值但是打印一直是0

mainDom = document.scrollingElement//document.querySelector('main');

scrollFun = ()=>{

console.dir(mainDom)

console.log(mainDom.scrollTop)

}

document.addEventListener('scroll', this.scrollFun, false)

你在这里玩找不同呢? 一个是 dom 变量不对、一个是赋值晚于使用

以上是 dom.scrollTop已经有值但是打印一直是0 的全部内容, 来源链接: utcz.com/p/936840.html

回到顶部