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;
      }
    },
相关推荐
布局呆星2 小时前
Vue Router :基础使用与嵌套路由实战
前端·javascript·vue.js
谁呛我名字8 小时前
JavaScript 类型转换与运算规则
javascript
冰暮流星9 小时前
javascript事件案例-全选框案例
服务器·前端·javascript
Dillon Dong10 小时前
【系列主题】Next.js 16 + Turbopack 的暗礁:深入剖析 Tailwind v4 的 CSS 模块解析陷阱
javascript·css·容器·turbopack
糯米团子74910 小时前
Web Worker
开发语言·前端·javascript
我命由我1234511 小时前
JavaScript 开发 - 获取函数名称、获取函数参数数量、获取函数参数名称
开发语言·前端·javascript·css·html·html5·js
_风满楼12 小时前
HTTP 请求的五种传参方式
前端·javascript·后端
光影少年13 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
像我这样帅的人丶你还13 小时前
前端监控体系与实践:从错误上报到内存与 GC 观测
前端·javascript·架构
a11177613 小时前
高斯泼溅 (Gaussian Splatting) 的 Three.js 实现
开发语言·javascript·ecmascript