广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现瀑布流触底动态加载数据
  • 774
分享到

js实现瀑布流触底动态加载数据

2024-04-02 19:04:59 774人浏览 独家记忆
摘要

本文实例为大家分享了js实现瀑布流触底动态加载数据的具体代码,供大家参考,具体内容如下 // onScrollEvent 滚动条事件 <div class="box"

本文实例为大家分享了js实现瀑布流触底动态加载数据的具体代码,供大家参考,具体内容如下



// onScrollEvent 滚动条事件
<div class="box" ref="box" @mousewheel="onScrollEvent">
    //每一个方块内的内容start
      <div class="boxItemStyle" v-for="(userTag, i) in dataSource" :key="i" ref="boxItemStyle">
        <a-tag class="moreStyle" @click="more(userTag.primaryParam)"> 更多></a-tag>
        <div v-for="item in userTag.userTag" :key="item.code">
          <p>
            <span style="text-align: left"> {{ item.name }}:</span>
            <span style="text-align: right">{{ item.value }}</span>
          </p>
        </div>
      </div>
      //每一个方块内的内容end
</div>

瀑布流布局


waterFall () {
  //减去边距的宽度
      var pageWidth = this.$refs.box.offsetWidth - 200
      var columns = 4; //定义一行4列
      var itemWidth = parseInt(pageWidth / columns);
      var arr = [];
      var nodes = document.getElementsByClassName("boxItemStyle")
      setTimeout(() => {
        //var node1 = Array.from(nodes)
       // var node2 = Array.prototype.slice.call(nodes)
        for (var i = 0; i < nodes.length; i++) {
          nodes[i].style.width = itemWidth + "px"
          if (i < columns) {
            nodes[i].style.width = itemWidth + "px"
            nodes[i].style.left = itemWidth * i + i * 50 + "px"
            nodes[i].style.top = 0
            arr.push(nodes[i].offsetHeight);
          } else {
            // 找到数组中最小高度  和 它的索引
            var minHeight = arr[0];
            var index = 0;
            for (var j = 0; j < arr.length; j++) {
              if (minHeight > arr[j]) {
                minHeight = arr[j];
                index = j;
              }
            }
            nodes[i].style.top = arr[index] + 30 + "px",
              nodes[i].style.left = nodes[index].offsetLeft + 'px';
            //  修改最小列的高度
            // 最小列的高度 = 当前自己的高度 + 拼接过来的高度
            arr[index] = arr[index] + nodes[i].offsetHeight + 30;//设置30的距离
          }
        }
      }, 1000)
    },

动态加载数据


onScrollEvent () {
      if (
        this.isScroll &&
        this.$refs.box.scrollHeight - this.$refs.box.scrollTop -this.$refs.box.clientHeight <= 0
      ) {
        this.loading = true
        if (this.ipagination.current == 1) {
          this.ipagination.current += 1
        }
        let param = {}
        param['pageNo'] = this.ipagination.current
        param['pageSize'] = this.ipagination.pageSize
        param['portraitId'] = this.portraitId
        postAction(this.url.list, { ...param }).then((res) => {
          this.loading = false
          if (res.success) {
            this.isScroll = res.records
            this.dataSource = this.dataSource.concat(res.result.records || res.result)
            this.waterFall();
          }
        })
        this.ipagination.current++
      }
    },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: js实现瀑布流触底动态加载数据

本文链接: https://www.lsjlt.com/news/135854.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js实现瀑布流触底动态加载数据
    本文实例为大家分享了js实现瀑布流触底动态加载数据的具体代码,供大家参考,具体内容如下 // onScrollEvent 滚动条事件 <div class="box" ...
    99+
    2022-11-12
  • js实现动态加载数据瀑布流
    本文实例为大家分享了js实现动态加载数据瀑布流的具体代码,供大家参考,具体内容如下 实现的功能 1.每次下拉到底部会自动加载下一页的数据2.图片逐渐显示 首先html <!DO...
    99+
    2022-11-13
  • js实现瀑布流布局(无限加载)
    本文实例为大家分享了js实现瀑布流布局的具体代码,供大家参考,具体内容如下 1.实现瀑布流布局思路 准备好数据之后 . 绑定滚动事件 . 判断页面是否到底(滚动的距离+可是区域的高度...
    99+
    2022-11-11
  • 小程序实现瀑布流动态加载列表
    本文实例为大家分享了小程序实现瀑布流动态加载列表的具体代码,供大家参考,具体内容如下 最近业务需要做一个商城列表,就自己写了一个瀑布流来加载列表。 这个列表在很多地方都需要用到,就...
    99+
    2022-11-13
  • 微信小程序实现瀑布流分页滚动加载
    本文实例为大家分享了微信小程序实现瀑布流分页滚动加载的具体代码,供大家参考,具体内容如下 两种分页方式 普通的分页效果会在页面底部提供点击下一页和上一页的按钮,在点击了按钮之后才会触...
    99+
    2022-11-12
  • js怎么实现无限加载自适应屏幕瀑布流图片效果
    这篇文章主要讲解了“js怎么实现无限加载自适应屏幕瀑布流图片效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么实现无限加载自适应屏幕瀑布流图片效果”...
    99+
    2022-10-19
  • Ajax如何实现动态加载数据
    这篇文章给大家分享的是有关Ajax如何实现动态加载数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这个随笔实现了一个Ajax动态加载的例子。使用.net 的MVC框架实现。这个例子重点在前后台交互,其它略写。开...
    99+
    2023-06-08
  • Android实现ListView数据动态加载的方法
    本文实例讲述了Android实现ListView数据动态加载的方法。分享给大家供大家参考,具体如下: list.setOnScrollListener(new OnScrol...
    99+
    2022-06-06
    方法 listview 动态 Android
  • RecyclerChart动态属性图标联动数据动态加载怎么实现
    本篇内容介绍了“RecyclerChart动态属性图标联动数据动态加载怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!图表联动类似于股...
    99+
    2023-07-05
  • jQuery如何实现滑动到底部加载下一页数据
    小编给大家分享一下jQuery如何实现滑动到底部加载下一页数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体代码如下所示:&...
    99+
    2022-10-19
  • javascript下拉框动态加载数据怎么实现
    可以使用Ajax技术来实现JavaScript下拉框动态加载数据。步骤如下:1. 定义一个下拉框元素,例如:```html```2....
    99+
    2023-05-30
    javascript下拉框 javascript
  • 利用Java如何实现动态加载数据库驱动
    利用Java如何实现动态加载数据库驱动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码实现在此只例出核心代码,就是动态加载数据库驱动的类,只是此处暂时没有考虑到数据库连接池的...
    99+
    2023-05-31
    java 动态加载 驱动
  • vue实现加载页面自动触发函数(及异步获取数据)
    目录加载页面自动触发函数实例页面加载时,触发某个函数的方法解决方法如下加载页面自动触发函数 实例 methods:{ onCreate:async function() ...
    99+
    2022-11-13
  • Android实现listview动态加载数据分页的两种方法
    在android开发中,经常需要使用数据分页,比如要实现一个新闻列表的显示,或者博文列表的显示,不可能第一次加载就展示出全部,这就需要使用分页的方法来加载数据,在android...
    99+
    2022-06-06
    方法 数据 listview 分页 Android
  • Android实现动态添加数据与堆叠折线图详解流程
    目录效果视频引用描述导包代码分析初始化动态添加数据温度数据湿度数据光照数据动态添加X轴时间值初始化自动刷新时间实现尾言效果视频 引用 描述 本示例采用的是非常、非常、非常好用的一款...
    99+
    2022-11-12
  • Bootstrap中treeview如何实现动态加载数据并添加快捷搜索功能
    这篇文章主要介绍了Bootstrap中treeview如何实现动态加载数据并添加快捷搜索功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。写...
    99+
    2022-10-19
  • 如何通过php接口和ECharts实现统计图的数据动态加载
    如何通过PHP接口和ECharts实现统计图的数据动态加载【引言】随着数据可视化越来越受到企业和开发者的重视,统计图的应用越来越广泛。ECharts作为一款开源的JavaScript图表库,提供了丰富的图表类型和交互手段,结合PHP接口,可...
    99+
    2023-12-17
    echarts PHP接口 数据动态加载
  • 滑轮滚动到页面底部ajax加载数据配合jsonp实现过程是怎样的
    这期内容当中小编将会给大家带来有关滑轮滚动到页面底部ajax加载数据配合jsonp实现过程是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作