【问题标题】:Things are still loading after window onload has finished窗口加载完成后内容仍在加载
【发布时间】:2018-09-20 09:47:14
【问题描述】:

希望有人可以在这里帮助我。我正在返回一个元素的 kendo 列表视图,每个元素都有一个(不幸的是相当大)来自网络服务的图像。

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

我使用的是window onload,jquery非常简单。

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

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

看起来很糟糕,因为微调器消失了,然后用户必须等待更长时间才能看到内容。假设这是因为页面上的所有其他内容都完成后才加载剑道列表视图...包括窗口加载?

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

干杯

【问题讨论】:

  • 剑道列表视图在窗口加载后使用 Javascript 加载。由于它实现延迟加载的方式,没有一个事件告诉你它已经完成 - 它有自己的“加载”微调器,你可以使用它。
  • 我会检查一下...干杯!好像真的很烦。或者我猜另一种方法是使用另一个列表视图

标签: javascript jquery listview kendo-ui


【解决方案1】:

在您的列表视图dataBound 事件处理程序中执行fadeOutfadeIn

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

你能展示更多你的代码吗?如果您有其他组件,您应该查看jQuery.when()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 2012-11-29
    • 2023-03-16
    • 2013-05-04
    相关资源
    最近更新 更多