【问题标题】:show a loading image while a table is being built in a part of the html在 html 的一部分中构建表格时显示加载图像
【发布时间】:2016-01-22 09:34:51
【问题描述】:

我有下面的 sn-p 代码,它基本上在数据表中构建了很多行。这是demo。我正在尝试使用 slepp 在这里模拟一个大数据集。

    //START:: show a loading message on the screen 
    //draw my rows 
    _.each(file, function(row) {
    //sleep(5000)
    t1.addRows(row)
    }); 
    //END:: STOP showing a loading message on the screen 

并且我希望能够向用户显示它正在加载。

我该怎么做。

我有以下链接,但我似乎无法让它们工作

https://stackoverflow.com/a/3617657/2392358

https://stackoverflow.com/a/16485533/2392358

我想使用其中一张图片

我正在考虑使用其中一个.gif 文件在加载时显示。

【问题讨论】:

    标签: datatables loading


    【解决方案1】:

    解决方案

    添加以下初始化选项:

    processing: true
    

    更改添加新行的代码

    $(".dataTables_processing").show();
    
    setTimeout(function(){
        _.each(file, function(row) {
            t1.addRows(row)
        });  
    
        t1.oTable.draw();
    
        $(".dataTables_processing").hide();
    }, 100);
    

    演示

    有关代码和演示,请参阅this jsFiddle

    【讨论】:

    • tks,我想更好地理解的一件事是,如果构建所有行 t1.addRows(row) 所花费的时间大于您将 setTimeout 设置为 100 的时间。那会发生什么?
    • @HattrickNZ,这只是在 100 为 100 毫秒时显示处理消息的技巧。
    • 是的,我想我明白这一点,但如果在 100 毫秒后未构建行,则代码将执行并且“处理”将隐藏,但尚未构建所有行。也许我缺乏理解,但想 - 显示处理 - 构建行 - 然后绘制 - 然后隐藏处理。
    • @HattrickNZ,这正是代码所做的 - 显示“处理中”,在 100 毫秒内开始添加行,然后使用 draw() 重绘表格,然后隐藏“处理中”消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2010-09-08
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    相关资源
    最近更新 更多