加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – jQuery .load()等到内容加载完毕

发布时间:2020-12-16 02:45:50 所属栏目:百科 来源:网络整理
导读:如何防止jQuery $(‘body’).load(‘something.php’);从更改任何DOM直到来自something.php(包括图像,js)的所有内容都完全加载 – 让我们说一些实际的内容是: Hello world 而且something.php的内容是: image that loads for 10 seconds20 js plugins 在触
如何防止jQuery $(‘body’).load(‘something.php’);从更改任何DOM直到来自something.php(包括图像,js)的所有内容都完全加载

– 让我们说一些实际的内容是:

Hello world

而且something.php的内容是:

image that loads for 10 seconds
20 js plugins

在触发.load()函数之后,什么都不应该发生,直到图像js文件被完全加载,然后然后立即改变内容.

可能会出现一些预加载器,但它不是问题的主题.

[编辑] – – – – – – – – – – – – – – – – – – – – – – – – ———————–

我的解决方案是css代码(css在构建dom之前始终加载),具有跨浏览器不透明度0.

.transparent{
    -moz-opacity: 0.00;
    opacity: 0.00;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=0);
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter:alpha(opacity=0);
}

并且它通常但不总是防止内容的错误闪烁.现在它可以以某种方式检测jQuery ajax加载内容并应用一些show timeout等等.但实际上问题仍然存在.

现在为这个问题做一个更简单的例子:

如何在$(‘body’)之后开始更改DOM.在点击激活.load(‘something.php’)函数的链接后,加载(‘something.php’)延迟3000ms? (浏览器应立即开始下载,但必须稍后启动DOM更改)

解决方法

改为使用 .get并在成功回调中分配内容:

$.get('something.php',function(result) {
    $('body').html(result);
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读