vue 实现返回顶部功能-指定盒子滚动区域

vue 实现返回顶部功能-指定盒子滚动区域

html代码

javascript 复制代码
  <a-icon
      type="vertical-align-top"
      class="top"
      name="back-top"
      @click="backTop"
      v-if="btnFlag"
    />

css代码

css 复制代码
.top {
  height: 35px;
  width: 37px;
  position: fixed;
  right: 5%;
  bottom: 5%;
  text-align: center;
  line-height: 45px;
  font-size: 20px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 1px 3px 1px #888888;
  z-index: 999;
}

返回顶部

javascript 复制代码
    backTop() {
      const timer = setInterval(() => {
        let scrollTop = document.getElementsByClassName("wk-layout_body")[0].scrollTop;
        let ispeed = Math.floor(-scrollTop / 5);
        document.getElementsByClassName("wk-layout_body")[0].scrollTop = scrollTop + ispeed;
        if (scrollTop === 0) {
          clearInterval(timer);
        }
      });
    },

显示/隐藏返回标志

javascript 复制代码
data() {
    return {
   btnFlag: false,
   }
 },
   
 mounted() {
    window.addEventListener("scroll", this.scrollToTop, true);
  },
  destroyed() {
    window.removeEventListener("scroll", this.scrollToTop);
  },
  scrollToTop() {
      let elVal = document.getElementsByClassName("wk-layout_body")[0];
      let windowHeight = elVal.offsetHeight / 2;
      const that = this;
      that.scrollTop = elVal.scrollTop;
      if (that.scrollTop > windowHeight) {
        that.btnFlag = true;
      } else {
        that.btnFlag = false;
      }
    },
相关推荐
不听话坏11 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
pany12 小时前
做 AI 友好的开源 Vue3 模板 🌈
前端·vue.js·ai编程
小二·12 小时前
React 19 + Next.js 15 现代前端开发实战:App Router / Server Components / 流式渲染
前端·javascript·react.js
daols8813 小时前
vue 甘特图 vxe-gantt 小时视图设置日期轴每间隔 3 个小时
vue.js·甘特图·vxe-gantt
CHNE_TAO_EMSM15 小时前
Android studio 打开文件时自动下载源码
前端·javascript·android studio
竹林81817 小时前
从 ethers.js 迁移到 Viem:一个签名验证 Bug 让我彻底放弃旧爱
javascript
你挚爱的强哥17 小时前
Vue2 实现 1.5s 十连击监听(连续点击若干次),封装通用可复用点击检测工具,不用 data!Vue 封装通用连击监听方法,支持自定义时长与点击次数
前端·javascript·vue.js
半个落月17 小时前
用 LangChain.js 手写一个能读写文件和执行命令的 Mini Cursor
javascript·人工智能·后端
天外天-亮18 小时前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
卓怡学长19 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea