在页面加载后使用ajax加载数据表(jquery)和/或让图像先加载

时间:2011-05-24 22:37:18

标签: ajax jquery datatables

嘿伙计们。我有一个加载Ajax的数据表。负载很好,但我注意到的一件事是页面上的文本被加载但是在Ajax调用之后加载了头部图像和页脚图像。这在页面上看起来有点奇怪。我想知道是否有办法解决这个问题。我知道jQuery中的setTimeOut方法,但对如何在数据表中使用它感到困惑。

$(document).ready(function() {

    var selected;
    var selectedOutput;
    var template;
    var submitButton;

    var insertedTable =  $('#pkgLineTable').dataTable({
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "bPaginate": true,
        "bLengthChange": true,
        "bFilter": true,
        "bSort": false,
        "bInfo": true,
        "bAutoWidth": false,
        "bProcessing": true,
        "bServerSide": false,
        "sAjaxSource": '@{Overview.getPkgLineList()}',
        "fnServerData": fnServerObjectToArray(['shortname', 'description'])             
    });
});

  fnServerObjectToArray = function (aElements) {     

    return function (sSource, aaData, fnCallback) {
        $.ajax({
            "dataType": 'json',
            "type": "GET",
            "url": sSource,
            "data": aaData,
            "success": function (json) {
                var a = [];
                $.each(json, function(index, item) {     
                    var inner = [];
                    for (var i = 0, iLen = aElements.length; i < iLen; i++) {
                        inner.push(item[aElements[i]]);
                    }
                    a.push(inner);
                });
                json.aaData = a;
                fnCallback(json);
            }
        });
    }
}

1 个答案:

答案 0 :(得分:1)

如果要在图像完成后加载ajax,请使用load代替.ready:

$(window).load(function() {

    var selected;
    var selectedOutput;
    var template;
    var submitButton;