首页 > 其他分享 >JS 获取指定元素滚动条

JS 获取指定元素滚动条

时间:2022-10-12 11:34:36浏览次数:46  
标签:el const res JS 滚动条 获取 scrollTop data

  • 获取后台数据接口,当数据无的时候,可以移除滚动监听
    mounted() {
        // 监听滚动
        window.addEventListener("scroll", this.getScroll, true);
    },
        // 瀑布流滚动到底部
        getScroll() {
            // vue 获取元素
            const el = this.$parent.$refs.wrapper;
            // JS 获取元素
            const el = document.querySelector("#wrapper");
            // 滚动条滚动时,距离顶部的距离
            const scrollTop = el.scrollTop || document.body.scrollTop;
            // 可视区的高度
            const windowHeight = el.clientHeight || document.body.clientHeight;
            // 滚动条总高度
            const totalScrollHeight = el.scrollHeight || document.body.scrollHeight;

            if (scrollTop + windowHeight === totalScrollHeight) {
                this.loading = true;
                this.getWaterFall();
            }
        },
        // 瀑布流数据
        getWaterFall() {
            // 加载状态结束
            this.$http
                .get(this.$ApiUrl + "articels?pageIndex=" + this.pageSize)
                .then((res) => {
                    if (res && res.status === 200) {
                        setTimeout(() => {
                            this.loading = false;
                        }, 1000);
                        const data = res.data;
                        this.list = this.list.concat(...data);
                        if (this.pageSize === 1) {
                            for (let i = 0; i < 3; i++) {
                                this.images.push(this.list[i].cover);
                            }
                        }
                        this.pageSize += 1;
                        if (data.length === 0) {
                            window.removeEventListener("scroll", this.getScroll, true);
                        }
                    }
                });
        },
    beforeDestroy() {
        // 移除滚动
        window.removeEventListener("scroll", this.getScroll, true);
    },

标签:el,const,res,JS,滚动条,获取,scrollTop,data
From: https://www.cnblogs.com/DL-CODER/p/16783913.html

相关文章

  • 尚硅谷-JavaWeb Day8 Filter、Json、Ajax
    1.Filter过滤器(JavaEE的规范,也是接口)作用:拦截请求、过滤响应;(应用于权限检查、日记操作、事务管理等等)①基本使用(通过判断session域中是否包含用户信......
  • JS操作
    筛选两个数组间相同的数据1.筛选两个数组letinitList=[1,2,35,15,48,68,48,52];letlist=[35,68];console.log(initList.filter((item)=>list.some((va......
  • 获取枚举描述值
    定义枚举 工具类如下,通过扩展方法的方式实现:publicstaticstringGetDescription(thisEnumvalue){TypeenumType=value.GetType();......
  • 从WebService的SOAP返回数据中获取子级的XML内容
    在webservice调用的返回值中,为了传输方便,一般只有一个返回值.这返回值往往是xml或者json格式.如果用javahttpclient方式调用的话,返回值将是完整的SOAPXML数据返回.......
  • 前端利用jsencrypt.js进行RSA加密
    前端利用jsencrypt.js进行RSA加密......
  • WebAssembly01--c代码调用js
    编译选项emcctest.c--js-librarypkg.js-otest.jspkg.jsmergeInto(LibraryManager.library,{js_add:function(a,b){console.log("js_add");......
  • 22道js输出顺序问题,你能做出几道
    前言最近在准备面试题,console的输出顺序之前一直迷迷糊糊。必备知识JS是单线程的单线程是JavaScript核心特征之一。这意味着,在JS中所有任务都需要排队执行,前一个任......
  • vue同时获取select的id和value
    <template><divclass="select1"><selectv-model="selectClassEnd"@change="selectClass($event)"><optionvalue="NONE">未选择</option><option......
  • JS 调用 FetchXML
    varcurUserid=Xrm.Utility.getGlobalContext().userSettings.userId;varfetchXml="<fetchversion='1.0'output-format='xml-platform'mapping='logical'dis......
  • 【JS设计模式笔记】神奇的魔术师-简单工厂模式(创建型)
    简单工厂模式(SimpleFactory):又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。主要用来创建同一类对象。第一次需求开发一个登录模块的需求,用户名输入框......