原生js触底加载案例

2023-11-13

 data() {
    return {
      RoomData: [],
      isBool: false,
      limit: 0,
      isLoading: false,
    }
  },
  methods: {
    roomClick(value) {
      location.href = value
    },
    RoomApi() {
      this.limit = this.limit + 30
      if (this.limit >= 210) {
        this.limit = 180
      }
      this.$axios.get(`http://open.douyucdn.cn/api/RoomApi/live`, {
        params: {
          limit: this.limit
        }
      }).then(r => {
        this.RoomData = r.data.data
      })
    },
    // 滚动回调函数
    scrollHande() {
      // 节流
      // 获取内容高度
      var scrollH = document.documentElement.scrollHeight
      // 获取窗口高度
      var innerH = window.innerHeight
      // 获取滚出去的内容高度
      var top = document.body.scrollTop || document.documentElement.scrollTop
      // 当内容还剩余200的高度未滚出的时候发送请求
      console.log(this.limit);
      if (scrollH - top - innerH < 200) {
        // 节流
        if (!this.isLoading) {
          this.isLoading = true;
          setTimeout(() => {
            // 发送请求
            this.RoomApi();
            this.isLoading = false
          }, 500)
        }
      }

    },
    bindScroll() {
      window.addEventListener('scroll', this.scrollHande)
    },
    // 清除scroll事件
    clearScroll() {
      window.removeEventListener('scroll', this.scrollHande)
    }
  },
  created() {
    this.RoomApi()
    this.bindScroll()
  },

  destroyed() {
    this.clearScroll()
  }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原生js触底加载案例 的相关文章

  • 由于 apollo-client 未定义,无法解构 GraphQL 查询?

    我正在寻找调试与错误消息相关的问题 未捕获的类型错误 无法解构 0 apollo client WEBPACK IMPORTED MODULE 4 useQuery 因为它未定义 Context 我正在为我的 React js 项目设置后端
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JavaScript 中的埃拉托斯特尼筛法对大量数据无限运行

    我一直在尝试写埃拉托斯特尼筛法 http en wikipedia org wiki Sieve of EratosthenesJavaScript 中的算法 基本上我只是按照以下步骤操作 创建从 2 到 n 1 的连续整数列表 令第一个素
  • 是否存在 IsCallable 为 false 但 IsConstructor 为 true 的 JS 对象?

    ECMAScript 规范函数可调用 https www ecma international org ecma 262 6 0 index html sec iscallable当且仅当其参数具有 Call 内部方法时返回 true 它在
  • 在新的 Google 协作平台 <嵌入 HTML> 中使用 localStorage 和 IndexedDB 不起作用

    我正在尝试将新的 Google 协作平台用于我开发的网页 但是 我在存储本地数据时遇到了问题 本地文件在 Windows 和 Apple safari chrome 中运行良好 从 Google 协作平台尝试一下 没有什么乐趣 此外 在 s
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 隐藏 Div 的父级

    我只是想隐藏父divcomments section div class content content green div div div 我试过这个 document getElementById comments section pa
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 如何制作没有 ng-repeat 的模板并使用 Angular-drag-and-drop-lists 将数据传递到 $scope?

    我想用角度拖放列表 https github com marceljuenemann angular drag and drop lists使用我自己的网格模板到所见即所得编辑器 如何构建我自己的 HTML 模板而不需要ng repeat因
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • 如何将项目上传到Gitee上

    一 首先保证本机已经安装了Git git官网安装完成之后 鼠标右键会出现Git GUI Here和Git Bash Here 二 上传代码到码云 核心 总共有7个步骤 1 首先要注册Gitee账号 并且新建一个仓库来存放项目文件 2 在本地
  • 使用Unity2018 自带高通AR组件(Vuforia)—— 创建Virtual Button

    之前翻译了一篇使用unity2017自带高通AR组件 Vuforia 的文章 昨天有位Bro问了一下怎么使用内置组件创建虚拟按钮 Virtual Button 在这里简单的叙述一下 一方面是回答那位Bro 另一方面是作为积累以防后续用到时忘
  • linux dev vda1占用磁盘,centos 磁盘清理 /dev/vda1系统盘满了

    df h 检查一台服务器磁盘使用空间 发现磁盘已经使用了100 思路是 1 cd usr 当然这里不一定是 usr目录 最好是cd到 根目录再执行下一步 2 du sh 看哪个目录占用空间大 3 重复前两步 根据实际情况删除或者移走 4 日
  • VirtualBox 共享文件夹设置

    在ubuntu中执行 mkdir share dir 新建文件夹 然后挂载 sudo mount t vboxsf share share dir 就可以把windows中的E share文件夹挂在为ubuntu中的share dir文件夹
  • MySql基础复习

    数据库的基本操作 如何创建数据库 数据库的删除操作 存储引擎的了解及其工作原理和如何选择 1 创建数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理 mysql安装完成以后 将会在其data目录下自动创建几个必须的数据库 可以
  • canvas学习笔记(详细)

    Canvas 一 Canvas基础知识 1 画布 画布是H5中一个重要的概念 它面向开发人员提供了非常底层的绘图接口 使得绘制速度可以大幅提高 2 canvas元素 canvas 标签只有两个属性 width和height 这些都是可选的
  • 晶振工作原理及参数详解(最透彻)

    原文链接点击这里 晶振是石英晶体谐振器 quartz crystal oscillator 的简称 也称有源晶振 它能够产生中央处理器 CPU 执行指令所必须的时钟频率信号 CPU一切指令的执行都是建立在这个基础上的 时钟信号频率越高 通常
  • 系统概要设计说明书_「软件项目管理入门」(23) 如何做好概要设计?

    实际上需求分析是一个很复杂的也是很重要的环节 如果要完整的阐述 三言两语肯定不够 好在我这个系列只是和大家分享一些心得 这里就适可而止了 以后有机会再和大家共同探讨这方面的问题 需求分析的输出主要针对乙方 但需要甲方确认 所以很多人误以为甲
  • mysql规范总结

    参考文献 https www cnblogs com qlqwjy p 8425861 html https blog csdn net u010498753 article details 85966709 一 基本规范要求 1 没有特殊
  • Python字典中8个常见内置函数,一次性给你总结

    字典是Python中很重要的数据类型 我们在日后的学习中 会经常遇到 因此 有8个常用的内置函数 我觉得你一定需要知道 d clear 含义 清除字典 d a 10 b 20 c 30 gt gt gt d a 10 b 20 c 30 g
  • Proability and Bayes’ NET

    Probabilistic Inference compute a desired probabilities from others known probabilities 我们通常计算条件概率 each possible state f
  • gorm基础05--CRUD 接口-更新

    gorm基础05 CRUD 接口 更新 介绍 案例 说明 介绍 上文 gorm基础04 CRUD 接口 查询 介绍了gorm 中常见查询方法 本文继续介绍gorm中常见的更新方法 具体包括 保存所有字段 更新单个列 更新多个列 更新选定字段
  • 【零基础学Rust

    文章标题 简介 一 元组 1 定义元组 2 访问元组元素 3 元组解构 4 元组在函数中的应用 二 数组 1 数组的声明和初始化 2 访问数组元素 3 数组的遍历 4 数组的长度 5 数组和函数 三 向量 1 创建向量 2 访问向量 3 修
  • IAR编译项目时报以下错误

    根本原因是因为你宏定义不符合规范
  • OpenCASCADE可视化:使用C/C++演示的3D术语表

    OpenCASCADE可视化 使用C C 演示的3D术语表 在本文中 我们将使用C C 代码和OpenCASCADE库来演示一些与3D图形相关的术语 OpenCASCADE是一个开源的CAD CAE CAM软件开发平台 它提供了丰富的几何建
  • KEIL5配置astyle

    比较清爽的参数 E style google U p n
  • lighttpd支持AJAX吗,lighttpd

    Lighttpd 是一个德国人领导的开源Web服务器软件 软件名称 lighttpd 软件版本 1 4 49 更新时间 2018 03 11软件语言 英语 简 介 Lighttpd 开源Web服务器软件 操作系统 Linux Windows
  • chrome使用指南

    目录 常用快捷键 常用插件 Octotree github源码浏览 GitCodeTree github gitee源码浏览 Axure RP Extension for Chrome 查看原型图 Tampermonkey 油猴脚本 云盘管
  • Flink CDC问题

    这里会列举出一些关键配置和遇到的问题 一直补充 Oracle CDC 1 SUPPLEMENTAL LOG在库和表上都需要执行 不是只有表上 ALTER TABLE inventory customers ADD SUPPLEMENTAL
  • 原生js触底加载案例

    data return RoomData isBool false limit 0 isLoading false methods roomClick value location href value RoomApi this limit