php - 如何预加载文档并仅在浏览器完成从服务器加载数据时将其呈现在屏幕上

标签 php javascript jquery codeigniter

有没有一种方法可以在所有文档、DOM、图像、AJAX 调用、对象和其他内容加载完毕后同时在屏幕上呈现所有内容?

这不是当浏览器从服务器获取信息时“部分”显示它们。

任何解决方案都会有用。

最佳答案

将所有内容设置为 display:none; 直到 jQuery AJAX success() 方法触发,然后可以将 display 属性设置回正常。

此外,请确保 AJAX 代码位于 window.onload$(window).on('load') 处理程序内部。

这样做的缺点是,如果 Ajax 调用不成功,您的页面将不会显示,因此您还应该在 jQuery 中定义一个 Ajax error() 方法。

编辑:

用于在加载完成时显示图像(放在 onload 之外):

$('img').each(function()
{
    $(this).css('display','none');
    $(this).on('load',function(){$(this).css('display','');});
});

此外,您还需要显示某种类型的加载符号以改善​​用户体验。

关于php - 如何预加载文档并仅在浏览器完成从服务器加载数据时将其呈现在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116001/

相关文章:

php - PHP 和 Laravel 中的接口(interface)和存储库命名

PHP XMLWriter:我需要传递哪些参数来传递两个 XMLWriter::write IdEntity 以生成所描述的嵌套实体 DTD 声明?

php - 从数据库中逐行获取值

javascript - 如何从 web2py 中的 View 动态检查登录状态

javascript - 隐藏在滚动条后面的 jQuery 模态按钮

javascript - 在jquery php中提取json数组

具有可变内容的javascript正则表达式

javascript - oop:点击事件

javascript - jQuery 图片 slider 问题

jquery - 淡入和/或淡出占位符文本