window.scrollTop 不生效的原因,如何解决

简介: window.scrollTop 不生效的原因,如何解决

问题描述


当我想要在移动端项目中设置返回顶部按钮时,需要用到window.scrollTo()这个函数,但是我在设置点击事件后返回顶部不生效。


const Index = (props: Props) => {
  let backTop = () => {
    window.scrollTo({ top: 0, behavior: 'smooth' });
  }
  return (
     <div className='index'>
        <div className='lists'>
          <List>
            {data.map((item, index) => (
              <List.Item key={index}>{item}</List.Item>
            ))}
          </List>
        </div>
        <div className='topBut' onClick={backTop}>^</div>
     </div>
  )
}


原因分析:


经过查阅资料才发现,这个方法,是只给产生滚动条的元素进行返回,而不是window,我这里是给index元素设置了滚动条。


解决方案:


后续就是获取到当前滚动条的页面元素,使用ref获取,之后加上返回顶部的方法即可!


代码:


const Index = (props: Props) => {
  let indexRef = useRef(null);
  let backTop = () => {
    indexRef.current.scrollTo({ top: 0, behavior: 'smooth' });
  }
  return (
    <div className='index' ref={indexRef}>
        <div className='lists'>
          <List>
            {data.map((item, index) => (
              <List.Item key={index}>{item}</List.Item>
            ))}
          </List>
        </div>
        <div className='topBut' onClick={backTop}>^</div>
      </div>
  )
}

目录
相关文章
|
前端开发
el-transfer 数据量过大加载慢卡顿解决办法:el-transfer虚拟滚动懒加载的实现
el-transfer 数据量过大加载慢卡顿解决办法:el-transfer虚拟滚动懒加载的实现
1461 0
|
3月前
|
人工智能 调度 流计算
AI Agent 出问题时,不要只看最终回答:一次请求级调试的思路
AI Agent出错时,仅看最终回答无法定位根源。本文提出“请求级调试”思路:聚焦system prompt、messages、tools schema、tool call/result及token消耗等关键层,揭示Agent每轮真实输入输出。推荐开源工具ccglass,专为观测AI编程Agent(如Claude Code、Codex)的完整请求链而生,助你从“感觉不对”走向“证据驱动”调试。(239字)
|
3月前
|
人工智能 IDE API
我在调试 AI Coding Agent 时遇到的问题,以及如何做了一个本地可观测工具解决它
ccglass 是一款开源本地代理+仪表盘工具,专为提升 AI 编程助手(如 Claude Code、Codex 等)的可观测性而设计。它通过拦截并记录 Agent 与大模型 API 的完整请求/响应(含 prompt、tool calls、tokens、cost、延迟等),提供实时可视化分析,所有数据仅存本地,无需联网或注册。
|
JavaScript
js监听页面或元素scroll事件,滚动到底部或顶部
js监听页面或元素scroll事件,滚动到底部或顶部
1864 0
js监听页面或元素scroll事件,滚动到底部或顶部
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
1414 0
|
Web App开发 前端开发
前端下载文件(Blob)的几种方式使用Blob下载文件
前端下载文件(Blob)的几种方式使用Blob下载文件
1747 0
|
JavaScript 流计算
vue 限制textarea内容的行数
vue 限制textarea内容的行数
395 0
|
JSON 数据格式
langchain 入门指南 - JSON 形式输出大模型的响应
langchain 入门指南 - JSON 形式输出大模型的响应
1174 0
|
缓存 监控 JavaScript
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
这篇文章详细介绍了服务端渲染(SSR)的原理、解决了哪些问题、以及如何在Vue应用中实现SSR,包括项目配置、代码结构、路由配置、数据预取和服务器端的渲染流程。
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
|
小程序 测试技术 API
开发字节抖音小程序踩坑记
用uni-app开发多端应用,之前打包的微x小程序好好的,打包成字节的就各种兼容问题,UI框架用的uView的1.x版本,也是各种兼容问题