窗口加载完成后,事物仍在加载

时间:2018-09-18 12:01:42

标签: javascript jquery listview kendo-ui

希望有人可以在这里帮助我。我将返回一个kendo listview元素,每个元素都有一个来自Web服务的图像(不幸的是很大)。

我添加了一个加载微调器,该微调器几乎可以很好地完成其工作,除了经常在所有图像准备就绪之前就消失...

我正在使用窗口onload,并且jQuery非常简单。

$(window).on('load', function () {
    // When the page has loaded
    $("#loading").fadeOut(0);
    $("#search-results-page").fadeIn(600);
});

我希望,直到绝对加载其中的所有内容之前,fadeIn都不会发生。实际上,发生的情况是微调器停留的时间足够长,几乎页面上的所有内容都可以到达...包括搜索结果页面的基本轮廓...但是包含所有项目和图像的kendo listview项到达了几秒钟后。

它看起来很糟糕,因为微调框消失了,然后用户不得不再等一会儿内容。假设这是因为kendo listview绝对是在页面上的所有其他内容都完成之后加载的...包括窗口onload?

欢迎任何建议或可能的解决方案!

欢呼

1 个答案:

答案 0 :(得分:1)

在列表视图fadeOut事件处理程序中执行fadeIndataBound

$("#listview").kendoListView({
  … ,
  dataBound: function() {
    $("#loading").fadeOut(0);
    $("#search-results-page").fadeIn(600);
  },
  … ,
});

您可以显示更多代码吗?如果您还有其他组件,则应查看jQuery.when()