基于Bootstrap-table-1.14.1实现数据瀑布流

  1. HTML代码

    <div id="AvgWaitAndAvgTimeServiceTimeData_hall">
    <div class="charts-area mg-b-15 mt-3">
    <div class="container-fluid">
    <div class="row">
    <div class="col-lg-12 colm-md-12 col-sm-12 col-xs-12">
    <div class="row">
    <div class="col-md-12">
    <div id="AvgServiceAndWaitTime_hall_table_toolbar">
    <button id="AvgServiceAndWaitTime_hall_table_export" class="btn btn-outline-primary" >
    <i class="fa fa-download" ></i> 导出
    </button>
    </div>
    <table id="AvgServiceAndWaitTime_hall_table" data-height="400" class="table table-hover mb-0 text-center" data-toolbar="#AvgServiceAndWaitTime_hall_table_toolbar">
    <thead>
    <tr>
    <th data-field="column1">column1</th>
    <th data-field="column2">column2</th>
    <th data-field="column3">column3</th>
    <th data-field="column4">column4</th>
    <th data-field="column5">column5</th>
    </tr>
    </thead>
    </table>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
  2. 初始化表格

    // 当前页码
    var currentPage = 1;
    // 总页数
    var totalPage = 0; // 初始化表格函数
    function loadHallAvgWaitTimeTable() {
    // 定义表格对象
    var $AvgServiceAndWaitTime_hall_table = $("#AvgServiceAndWaitTime_hall_table");
    // 开始初始化表格,因为要实现瀑布流的效果,所以需要将分页功能禁用掉
    $AvgServiceAndWaitTime_hall_table.bootstrapTable('destroy').bootstrapTable({
    url: 'xxx/xxx/xxx.do',
    method: 'GET',
    dataType: 'json',
    striped: false,
    editable: false,
    cache: false,
    undefinedText: '',
    pagination: false,
    sortable: false,
    data_local: 'zh_US',
    idField: 'id',
    contentType: 'application/x-www-form-urlencoded',
    // 设置查询参数:首次加载十条数据
    queryParams:
    function () {
    return {
    pageSize: 10,
    PageNumber: 1,
    timeStamp: new Date().getTime()
    }
    },
    // 对响应数据进行处理:将响应数据中的总页数取出,并赋值给totalPage变量
    responseHandler: function (res) {
    totalPage = res.obj.pages;
    return eval(res.obj.rows);
    },
    // 数据加载成功后执行:这里主要对表格内容部分的滚动条进行监听,当监听到滚动条滑动到底部的时候,自动开始获取下一页数据,并将下一页数据拼接到表格中
    onLoadSuccess: function () {
    // 标识位
    var isTrue = true;
    // 对表格内容部分添加滚动监听事件
    document.querySelector("#AvgWaitAndAvgTimeServiceTimeData_hall .fixed-table-body").addEventListener("scroll", function () {
    // 获取表格数据展示部分(用户可直观的看到数据的部分)的高度,这部分高度是固定的
    var nDivHight = $("#AvgWaitAndAvgTimeServiceTimeData_hall .fixed-table-body").height();
    // 定义滚动距离总长变量(注意不是滚动条的长度),使用HTML DOM元素对象的scrollHeight属性:获取整个元素的高度(包括带滚动条的隐蔽的地方)
    var nScrollHeight = $(this)[0].scrollHeight;
    // 滚动到的当前位置:使用HTML DOM元素对象的scrollTop属性:获取当前视图中的实际元素的顶部边缘和顶部边缘之间的距离
    var nScrollTop = $(this)[0].scrollTop;
    // 使用JavaScript:Math对象的ceil方法(向上取整):相当于当前内容区域的真实高度,包括不可见部分
    var flagHeight = Math.ceil(nScrollTop + nDivHight);
    // 判断页码:当前页面小于总页码
    if (currentPage < totalPage) {
    // 当前内容区域的真实高度 < 滚动条整体高度(包括隐藏看不见的地方) -500:证明滚动条马上就要滑动到底部了,此时开始加载下一页的数据
    if (flagHeight >= (nScrollHeight - 500)) {
    if (isTrue) {
    console.log("当前页码:"+currentPage+"共多少页:"+totalPage+"-----滚动条到底部自动加载下一页")
    setTimeout(function () {
    // 页码加1
    currentPage++;
    // 获取下一页数据,并追加到表格中
    getList();
    }, 100);
    //杀死标识位,阻止多次请求
    isTrue = false;
    }
    }
    }
    }); function getList() {
    $.ajax({
    url: 'xxx/xxx/xxx.do',
    method: 'GET',
    dataType: 'json',
    data: {
    PageNumber: currentPage,
    pageSize: 20
    },
    success: function (data) {
    $("#AvgServiceAndWaitTime_hall_table").bootstrapTable("append", data.obj.rows);
    isTrue = true;
    }
    })
    }
    }
    })
    }

基于Bootstrap v4.1.1 & Bootstrap-table-1.14.1实现数据瀑布流的更多相关文章

  1. Bootstrap v4.0.0-alpha.5 发布,大量更新

    Bootstrap v4.0.0-alpha.5 发布了,Bootstrap是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的 ...

  2. 强大!基于拖放布局的 Twitter Bootstrap 网站生成器

    强大!基于拖放布局的 Twitter Bootstrap 网站生成器 网址如下 http://www.layoutit.com/build http://demo.sc.chinaz.com/File ...

  3. bootstrap4学习—Bootstrap v4.0.0-alpha.6的快速参考

    下面为Bootstrap v4.0.0-alpha.6中的代码快速检索地址: 网址:https://hackerthemes.com/bootstrap-cheatsheet/ 在使用bootstra ...

  4. [Bootstrap]7天深入Bootstrap(1)入门准备

    由于申请了一个域名,一个云主机,开始弄个人网站. 发现Bootstrap非常方便,和重要,故开始学习与分享关于Bootstrap的技术. 推个广告 个人网站:http://www.neverc.cn ...

  5. 【Bootstrap】1.初识Bootstrap

    作为Web前端开发框架,Bootstrap为大多数标准的UI设计常见提供了用户友好.扩浏览器的解决方案. 1.下载Bootstrap 打开官方网址 http://getbootstrap.com/ 进 ...

  6. bootstrap学习--什么是bootstrap

    2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用.优雅.灵活.可扩展的前端工具集--BootStrap.Bootstrap由MARK ...

  7. 纯手工打造漂亮的瀑布流,五大插件一个都不少Bootstrap+jQuery+Masonry+imagesLoaded+Lightbox!

    前两天写的文章<纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!>受到很多网友的喜爱,今天特别推出姊妹篇<纯手工打造漂亮的瀑 ...

  8. bootstrap上传表单的时候上传的数据默认是0 一定要小心

    bootstrap上传表单的时候上传的数据默认是0 一定要小心

  9. [置顶] 纯手工打造漂亮的瀑布流,五大插件一个都不少Bootstrap+jQuery+Masonry+imagesLoaded+Lightbox!

    前两天写的文章<纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!>受到很多网友的喜爱,今天特别推出姊妹篇<纯手工打造漂亮的瀑 ...

随机推荐

  1. 【奇妙的JavaScript】# 1

    奇妙的JavaScript 本专题整理了一些JavaScript的怪异行为,大部分都是选择题,题目都是简单的表达式.可以测试你有多了解 JavaScript,拓宽你的认知边界! 该专题计划每周更新1- ...

  2. Python爬虫+可视化教学:爬取分析宠物猫咪交易数据

    前言 各位,七夕快到了,想好要送什么礼物了吗? 昨天有朋友私信我,问我能用Python分析下网上小猫咪的数据,是想要送一只给女朋友,当做礼物. Python从零基础入门到实战系统教程.源码.视频 网上 ...

  3. Vue学习笔记(二)动态绑定、计算属性和事件监听

    目录 一.为属性绑定变量 1. v-bind的基本使用 2. v-bind动态绑定class(对象语法) 3. v-bind动态绑定class(数组语法) 4. v-bind动态绑定style(对象语 ...

  4. 迈入 8K 时代,AI 驱动超高清 “视” 界到来

    2021 年,超高清迈入 "8K" 时代.超高清视频将带来全新视听体验,但超高清生产在内容生产层面也面临着超高清存量少.生产设备更新换代慢.制作周期成倍增加的困境.在 7 月 10 ...

  5. BUUCTF-[网鼎杯 2018]Fakebook(SSRF+联合注入绕Waf)

    记一道SSRF配合SQL注入的题. 喜欢在做题之前扫一下网站的目录,扫到了robots.txt文件可以访问,拿到user.php.bak的源码.同时还有flag.php. <?php class ...

  6. mock平台介绍和moco的简单例子

    1.mock是什么?mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.在具体的测试过程中,我们经常会碰到需要模拟数据或者接口的情况,因为环 ...

  7. Block循环引用详解

    前言 在项目中经常用到block,使用不当就很容易因为循环引用而造成内存泄漏.本文分析了block循环引用形成原因以及处理办法,如果有什么不对或者疑问请留言. 什么情况下block会造成循环引用 bl ...

  8. 【原创】利用动态二进制加密实现新型一句话木马之PHP篇

    概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...

  9. docker 安装 sonarQube

    sonarQube 是一款开源代码检测工具.本篇介绍通过 docker 来安装.大概的一个运作流程是这样的,先通过 sonar-scanner 插件扫描代码,把数据存储到数据库,sonarQube 读 ...

  10. Docker搭建网页数据库管理-Adminer

    为什么Adminer比phpMyAdmin更好? 官网介绍: 用Adminer替换phpMyAdmin,您将获得一个简洁的用户界面,对MySQL功能的更好支持,更高的性能和更高的安全性.请参阅详细比较 ...