基于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. idea创建web工程、配置tomcat及基本配置

    背景 现在许多人从eclipse转到idea了,小编也不例外.但是刚转初期还是有挺多不适应的,特总结了创建maven的web工程.配置tomcat服务器及基本配置.有了这些配置,上手idea也就跟ec ...

  2. 高德开放平台实现批量自定义marker和信息窗体显示

    上篇博客提到云图无法实现文本标签标记marker,这篇博客着重实现在marker点文本标记以及自定义按钮窗体显示. 1.效果: 2.代码实现 <!doctype html> <htm ...

  3. phpunit 远程代码执行漏洞(CVE-2017-9841)

    影响版本 4.8.19 ~ 4.8.27 5.0.10 ~ 5.6.2 访问进行抓包 http://192.168.49.2:8080/vendor/phpunit/phpunit/src/Util/ ...

  4. Javas数组03——数组的使用

    Javas数组--数组的使用 1.普通的for循环 2.for-each循环 3.数组做方法入参 4.数组做返回值 例子1--普通for循环  package array; ​ public clas ...

  5. 35岁Android程序员被阿里辞退,生活压力太大痛哭,中年危机如何自救?

    多数人都喜欢安逸的生活,尤其是随着年龄的增长,很多人都希望工作和生活趋于稳定,不愿意再让生活有很大的变动.可是,当达到一定的年龄时,危机还是存在的. 之前有一位阿里员工在脉脉上,晒出了自己被辞退的经历 ...

  6. 第2篇-JVM虚拟机这样来调用Java主类的main()方法

    在前一篇 第1篇-关于JVM运行时,开篇说的简单些 中介绍了call_static().call_virtual()等函数的作用,这些函数会调用JavaCalls::call()函数.我们看Java类 ...

  7. js引用类型深拷贝、浅拷贝方法封装

    引用类型的深拷贝.浅拷贝在前端领域一直是个很重要的知识点,不仅在业务中频繁使用,也是面试官们喜欢考的的知识点之一.本篇将封装引用类型的深拷贝.浅拷贝方法,并解决在封装过程中出现的问题. 一.浅拷贝 浅 ...

  8. 算法竞赛中的常用JAVA API :HashSet 和 TreeSet(转载)

    算法竞赛中的常用JAVA API :HashSet 和 TreeSet set set容器的特点是不包含重复元素,也就是说自动去重. HashSet HashSet基于哈希表实现,无序. add(E ...

  9. Setup a Simple HTTP Proxy Server

    The host 10.21.3.69 has no H3C client, so it can't access the internet. With Tinyproxy, we can setuu ...

  10. docker-01

    Docker介绍 1 什么是容器? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移 ...