You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte项目中获取window scrollTop值及滚动事件无响应问题排查

解决Svelte中监听滚动无响应及获取scrollTop的问题
  • 你用错了事件名:Svelte的svelte:window上不存在scrollX事件,正确的全局滚动监听事件是scroll,这就是控制台无输出的核心原因。
  • 修正后的可运行代码:
<script>
    function checkScroll() {
        console.log("Scrolled");
        // 获取window的滚动距离(兼容不同浏览器)
        const scrollTop = window.scrollY || document.documentElement.scrollTop;
        console.log("滚动距离:", scrollTop);
    }
</script>

<svelte:window on:scroll={checkScroll}/>
  • 额外排查点:
    • 确保页面内容高度超过视口高度,否则不会出现滚动条,自然触发不了滚动事件
    • 如果滚动容器不是window(比如某个设置了overflow: auto的div),需要给该元素绑定on:scroll事件,此时获取滚动距离要读取该元素的scrollTop属性

内容的提问来源于stack exchange,提问作者Danny DOC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 00:09:22