繁体   English   中英

window.scrollTop 未定义

[英]window.scrollTop is undfined

为什么window.scrollTop未定义?

https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTop

Element.scrollTop 属性获取或设置元素内容垂直滚动的像素数。

元素的 scrollTop 值是从元素顶部到其最顶部可见内容的距离的度量。 当一个元素的内容没有产生垂直滚动条时,那么它的 scrollTop 值为 0。

jQuery(window).on('scroll', function() {
        if(window.scrollTop > 0) {
            console.log('of the top')
            console.log('scroll top value is: ' + window.scrollTop)
        } else {
            console.log('the top')
            console.log('scroll top value is: ' + window.scrollTop)
        }
    })

我在控制台日志中得到的只是:

scroll top value is: undefined

我总是在 if else 中得到评估:

of the top

即使我滚动到页面顶部。

为什么 window.scrollTop 未定义?

https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTop window 算不算一个元素?

您需要使用 jQuery $ 标识符以及括号 () for.scrollTop() 才能获得 position

这是可执行代码:

<script>
jQuery(window).on('scroll', function() {
        if($(window).scrollTop() > 0) {
            console.log('of the top')
            console.log('scroll top value is: ' + $(window).scrollTop())
        } else {
            console.log('the top')
            console.log('scroll top value is: ' + $(window).scrollTop())
        }
    })
</script>
<script> jQuery(window).on('scroll', function() { if($(window).scrollTop() > 0) { console.log('of the top') console.log('scroll top value is: ' + $(window).scrollTop()) } else { console.log('the top') console.log('scroll top value is: ' + $(window).scrollTop()) } }) </script>

YESSINE 的代码是正确的。 但可以让它变得简单

<script>
jQuery(window).on('scroll', function() {
        var window = $(window);
        if(window.scrollTop() > 0) {                
            console.log('of the top')
            console.log('scroll top value is: ' + window.scrollTop())
        } else {
            console.log('the top')
            console.log('scroll top value is: ' + window.scrollTop())
        }
    })
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM