HTML 按钮在页面的其他内容之前加载

马尼什塔库尔

我遇到了一个问题,比如在加载 HTML 表格之前呈现导出按钮,这在 UI 上看起来不太好。

我想要实现的是在表格呈现后或整个页面加载后我的按钮加载,内容应该出现。

$(document).ready(function() {
  var tableData = [{
      "CATEGORY CODE": "C001",
      "CATEGORY NAME": "Beverages",
      "QUANTITY": "1.0000",
      "AMOUNT": 18
    },
    {
      "CATEGORY CODE": "C002",
      "CATEGORY NAME": "Shakes",
      "QUANTITY": "1.0000",
      "AMOUNT": 80
    },
    {
      "CATEGORY CODE": "C003",
      "CATEGORY NAME": "Juices",
      "QUANTITY": "1.0000",
      "AMOUNT": 70
    },
    {
      "CATEGORY CODE": "C004",
      "CATEGORY NAME": "Soups",
      "QUANTITY": "1.0000",
      "AMOUNT": 55
    },
    {
      "CATEGORY CODE": "C005",
      "CATEGORY NAME": "Cookies",
      "QUANTITY": "1.0000",
      "AMOUNT": 46
    },
    {
      "CATEGORY CODE": "C006",
      "CATEGORY NAME": "Buns",
      "QUANTITY": "1.0000",
      "AMOUNT": 21
    },
    {
      "CATEGORY CODE": "C007",
      "CATEGORY NAME": "Breads",
      "QUANTITY": "1.0000",
      "AMOUNT": 40
    },
    {
      "CATEGORY CODE": "C008",
      "CATEGORY NAME": "Rusks",
      "QUANTITY": "1.0000",
      "AMOUNT": 52
    },
    {
      "CATEGORY CODE": "C009",
      "CATEGORY NAME": "Biscuits",
      "QUANTITY": "1.0000",
      "AMOUNT": 38
    },
    {
      "CATEGORY CODE": "C010",
      "CATEGORY NAME": "Puff",
      "QUANTITY": "4.0000",
      "AMOUNT": 132
    },
    {
      "CATEGORY CODE": "C011",
      "CATEGORY NAME": "Savouries",
      "QUANTITY": "0.1000",
      "AMOUNT": 29
    },
    {
      "CATEGORY CODE": "C012",
      "CATEGORY NAME": "Cake",
      "QUANTITY": "1.0000",
      "AMOUNT": 46
    },
    {
      "CATEGORY CODE": "C014",
      "CATEGORY NAME": "IceCream",
      "QUANTITY": "1.0000",
      "AMOUNT": 70
    },
    {
      "CATEGORY CODE": "C019",
      "CATEGORY NAME": "Curry",
      "QUANTITY": "1.0000",
      "AMOUNT": 180
    },
    {
      "CATEGORY CODE": "C021",
      "CATEGORY NAME": "Starter",
      "QUANTITY": "1.0000",
      "AMOUNT": 165
    },
    {
      "CATEGORY CODE": "C022",
      "CATEGORY NAME": "Roti",
      "QUANTITY": "1.0000",
      "AMOUNT": 60
    },
    {
      "CATEGORY CODE": "C023",
      "CATEGORY NAME": "Chawal",
      "QUANTITY": "1.0000",
      "AMOUNT": 185
    },
    {
      "CATEGORY CODE": "C024",
      "CATEGORY NAME": "Dessert",
      "QUANTITY": "1.0000",
      "AMOUNT": 66
    },
    {
      "CATEGORY CODE": "C026",
      "CATEGORY NAME": "Soup",
      "QUANTITY": "1.0000",
      "AMOUNT": 100
    },
    {
      "CATEGORY CODE": "C027",
      "CATEGORY NAME": "Salad",
      "QUANTITY": "1.0000",
      "AMOUNT": 50
    },
    {
      "CATEGORY CODE": "C028",
      "CATEGORY NAME": "Set Menu",
      "QUANTITY": "3.0000",
      "AMOUNT": 1290
    },
    {
      "CATEGORY CODE": "C029",
      "CATEGORY NAME": "Pastry",
      "QUANTITY": "1.0000",
      "AMOUNT": 80
    },
    {
      "CATEGORY CODE": "C030",
      "CATEGORY NAME": "Packed Meals",
      "QUANTITY": "1.0000",
      "AMOUNT": 25
    },
    {
      "CATEGORY CODE": "C031",
      "CATEGORY NAME": "Packaging",
      "QUANTITY": "1.0000",
      "AMOUNT": 5
    },
    {
      "CATEGORY CODE": "C034",
      "CATEGORY NAME": "Bhath",
      "QUANTITY": "1.0000",
      "AMOUNT": 68
    },
    {
      "CATEGORY CODE": "C036",
      "CATEGORY NAME": "Snacks",
      "QUANTITY": "1.0000",
      "AMOUNT": 10
    },
    {
      "CATEGORY CODE": "C037",
      "CATEGORY NAME": "Breakfast",
      "QUANTITY": "5.0000",
      "AMOUNT": 119
    },
    {
      "CATEGORY CODE": "C038",
      "CATEGORY NAME": "Evening Snacks",
      "QUANTITY": "1.0000",
      "AMOUNT": 70
    },
    {
      "CATEGORY CODE": "C040",
      "CATEGORY NAME": "Sandwich",
      "QUANTITY": "1.0000",
      "AMOUNT": 75
    },
    {
      "CATEGORY CODE": "C042",
      "CATEGORY NAME": "Burger",
      "QUANTITY": "1.0000",
      "AMOUNT": 75
    },
    {
      "CATEGORY CODE": "C043",
      "CATEGORY NAME": "Meals",
      "QUANTITY": "1.0000",
      "AMOUNT": 220
    },
    {
      "CATEGORY CODE": "C044",
      "CATEGORY NAME": "Curd",
      "QUANTITY": "1.0000",
      "AMOUNT": 12
    },
    {
      "CATEGORY CODE": "C048",
      "CATEGORY NAME": "Combo",
      "QUANTITY": "2.0000",
      "AMOUNT": 180
    },
    {
      "CATEGORY CODE": "C051",
      "CATEGORY NAME": "Silver Thali",
      "QUANTITY": "1.0000",
      "AMOUNT": 450
    },
    {
      "CATEGORY CODE": "C052",
      "CATEGORY NAME": "Sweets",
      "QUANTITY": "1.0000",
      "AMOUNT": 115
    },
    {
      "CATEGORY CODE": "C054",
      "CATEGORY NAME": "Instant Mixes",
      "QUANTITY": "1.0000",
      "AMOUNT": 66
    },
    {
      "CATEGORY CODE": "C055",
      "CATEGORY NAME": "RTE",
      "QUANTITY": "1.0000",
      "AMOUNT": 228
    },
    {
      "CATEGORY CODE": "C057",
      "CATEGORY NAME": "Spices",
      "QUANTITY": "1.0000",
      "AMOUNT": 40
    },
    {
      "CATEGORY CODE": "C061",
      "CATEGORY NAME": "Fast Food",
      "QUANTITY": "1.0000",
      "AMOUNT": 15
    }
  ]

  function addTable(tableData) {
    var col = Object.keys(tableData[0]); // get all the keys from first

    var countNum = col.filter(i => !isNaN(i)).length; // count all which
    // are number
    var num = col.splice(0, countNum); // cut five elements from frist
    col = col.concat(num); // shift the first item to last
    // CREATE DYNAMIC TABLE.
    var table = document.createElement("table");

    // CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.

    var tr = table.insertRow(-1); // TABLE ROW.


    for (var i = 0; i < col.length; i++) {
      var th = document.createElement("th"); // TABLE HEADER.
      th.innerHTML = col[i];

      tr.appendChild(th);
    }

    // ADD JSON DATA TO THE TABLE AS ROWS.
    for (var i = 0; i < tableData.length; i++) {

      tr = table.insertRow(-1);

      for (var j = 0; j < col.length; j++) {
        var tabCell = tr.insertCell(-1);
        var tabledata = tableData[i][col[j]];
        if (tabledata && !isNaN(tabledata)) {
          tabledata = parseInt(tabledata).toLocaleString('en-in')
        }
        tabCell.innerHTML = tabledata;

        if (j > 1)

          tabCell.classList.add("text-right");

      }
    }

    // FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
    var divContainer = document.getElementById("table1");
    divContainer.innerHTML = "";
    divContainer.appendChild(table);
    table.classList.add("table");
    table.classList.add("table-striped");
    table.classList.add("table-bordered");

  }
  addTable(tableData)

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<button type="button" class="btn btn-primary btn-lg">Export</button>
<div id="table1">

</div>

我想要实现的是,一旦页面完全加载,导出按钮应该出现在 ui 上,即在加载表格后或仅包含表格。

在代码段中,它正确加载,因为在这里我静态定义了 JSON。在我的代码中,我正在进行 ajax 调用,因此当我进行调用时,按钮会在加载表之前出现在 UI 上。

伊万·瓦拉达雷斯

隐藏按钮

<button id="exportBtn" type="button" style="display: none;" class="btn btn-primary btn-lg">Export</button>

添加表格后显示按钮

addTable(tableData)
$("#exportBtn").show();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JS加载后获取页面的HTML内容

来自分类Dev

从嵌套页面的<html>标记中添加其他属性

来自分类Dev

从嵌套页面的<html>标记中添加其他属性

来自分类Dev

Chrome扩展程序:在页面呈现/加载之前获取页面的html

来自分类Dev

Chrome扩展程序:在页面呈现/加载之前获取页面的html

来自分类Dev

无需按钮即可导航到其他html页面。

来自分类Dev

javascript-禁用来自其他html页面的html框架的超链接

来自分类Dev

CSS-其他页面的打印单中的html页面

来自分类Dev

访问动态加载的html页面的元素

来自分类Dev

如何在html页面的其他包含项上显示div?

来自分类Dev

将HTML单击重定向到其他页面的特定区域

来自分类Dev

将HTML单击重定向到其他页面的特定区域

来自分类Dev

如何禁用其他页面的母版页的HTML锚标记?

来自分类Dev

如果videoEnded转到页面的其他部分,则使用HTML <video>函数

来自分类Dev

加载页面后加载HTML内容?

来自分类Dev

在HTML页面加载之前运行Google脚本

来自分类Dev

如何使用url变量从索引页面的其他页面加载内容

来自分类Dev

加载此选项卡式angularjs页面的html页面

来自分类Dev

加载此选项卡式angularjs页面的html页面

来自分类Dev

在jquery将其他html插入页面时显示加载图标

来自分类Dev

如何更改页面上加载的HTML内容

来自分类Dev

HTML TextArea适合内容(页面加载)

来自分类Dev

在 html 页面内加载动态内容

来自分类Dev

单击页面加载上的HTML按钮/链接

来自分类Dev

如何刷新其他html页面

来自分类Dev

如何使隐藏的HTML仅显示在单击时的弹出窗口中,而不显示在页面的其他位置?

来自分类Dev

在Outlook HTML中加载其他图像

来自分类Dev

在加载 html 页面之前通过 jquery 预加载器?

来自分类Dev

访问页面的HTML

Related 相关文章

  1. 1

    JS加载后获取页面的HTML内容

  2. 2

    从嵌套页面的<html>标记中添加其他属性

  3. 3

    从嵌套页面的<html>标记中添加其他属性

  4. 4

    Chrome扩展程序:在页面呈现/加载之前获取页面的html

  5. 5

    Chrome扩展程序:在页面呈现/加载之前获取页面的html

  6. 6

    无需按钮即可导航到其他html页面。

  7. 7

    javascript-禁用来自其他html页面的html框架的超链接

  8. 8

    CSS-其他页面的打印单中的html页面

  9. 9

    访问动态加载的html页面的元素

  10. 10

    如何在html页面的其他包含项上显示div?

  11. 11

    将HTML单击重定向到其他页面的特定区域

  12. 12

    将HTML单击重定向到其他页面的特定区域

  13. 13

    如何禁用其他页面的母版页的HTML锚标记?

  14. 14

    如果videoEnded转到页面的其他部分,则使用HTML <video>函数

  15. 15

    加载页面后加载HTML内容?

  16. 16

    在HTML页面加载之前运行Google脚本

  17. 17

    如何使用url变量从索引页面的其他页面加载内容

  18. 18

    加载此选项卡式angularjs页面的html页面

  19. 19

    加载此选项卡式angularjs页面的html页面

  20. 20

    在jquery将其他html插入页面时显示加载图标

  21. 21

    如何更改页面上加载的HTML内容

  22. 22

    HTML TextArea适合内容(页面加载)

  23. 23

    在 html 页面内加载动态内容

  24. 24

    单击页面加载上的HTML按钮/链接

  25. 25

    如何刷新其他html页面

  26. 26

    如何使隐藏的HTML仅显示在单击时的弹出窗口中,而不显示在页面的其他位置?

  27. 27

    在Outlook HTML中加载其他图像

  28. 28

    在加载 html 页面之前通过 jquery 预加载器?

  29. 29

    访问页面的HTML

热门标签

归档