页面加载后用ajax加载数据表(jquery)AND/OR让图像先加载



嘿,伙计们。我有一个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);
            }
        });
    }
}

如果您想在图像完成后加载ajax,请使用load而不是.ready:

$(window).load(function() {
    var selected;
    var selectedOutput;
    var template;
    var submitButton;

相关内容

最新更新