Php 在实际显示AJAX内容之前加载它们

Php 在实际显示AJAX内容之前加载它们,php,jquery,ajax,Php,Jquery,Ajax,我在动画完成后加载AJAX请求。但是,我希望加载ajax,在加载它的地方隐藏(),然后在动画完成后简单地显示()。我的想法是,我不必担心用户等待图像加载,我可以在我等待动画完成的所有地方复制这一点。甚至只是文字 我可以简单地将它放在一些div中,样式为display:none;,然后把它藏起来,但让我烦恼的是,从技术上讲,它仍然在页面上“那里”。有没有办法将内容加载到用户根本看不到的地方 已解决。我确实不希望它出现在DOM中,并且希望有一些CSS3/HTML5之类的东西能够“保存”元素P同样,我

我在动画完成后加载AJAX请求。但是,我希望加载ajax,在加载它的地方隐藏(),然后在动画完成后简单地显示()。我的想法是,我不必担心用户等待图像加载,我可以在我等待动画完成的所有地方复制这一点。甚至只是文字

我可以简单地将它放在一些div中,样式为display:none;,然后把它藏起来,但让我烦恼的是,从技术上讲,它仍然在页面上“那里”。有没有办法将内容加载到用户根本看不到的地方


已解决。我确实不希望它出现在DOM中,并且希望有一些CSS3/HTML5之类的东西能够“保存”元素P同样,我知道其他人有一个很好的方法来做到这一点,所以我需要最好的。我想我明白了。谢谢大家。

您可以从屏幕上加载内容(例如
位置:绝对;左:-500px;
),但这与在需要的位置加载内容并将其设置为
显示:无
没有什么不同。另外,在显示之前,您必须移动它


我认为您第二段中的第一个建议是您应该做的:将其加载到一个div中,该div的样式为
display:none
,然后在动画结束时简单地重置display属性或淡入元素。

您可以从屏幕上加载内容(例如
位置:绝对;左:-500px;
)但这与在需要的地方加载并将其设置为
display:none
没有什么不同。另外,在显示之前,您必须移动它


我认为您第二段中的第一个建议是您应该做的:将其加载到一个div中,该div的样式为
display:none
,然后只需重置display属性或在动画结束时淡入元素即可。

您的操作完全正确。您必须将内容加载到页面上的容器中,以便浏览器知道需要开始处理它。这样做没有什么“错”,所以不要让它打扰你:)

应该可以了

我相信你甚至可以做到这一点:

$('#myContainer').hide().html(ajaxResult).fadeIn();

你完全正确。您必须将内容加载到页面上的容器中,以便浏览器知道需要开始处理它。这样做没有什么“错”,所以不要让它打扰你:)

应该可以了

我相信你甚至可以做到这一点:

$('#myContainer').hide().html(ajaxResult).fadeIn();

听起来你在试图解决一个不需要解决的问题。用户不会在意它是否在某个地方,因为你很快就会显示出来,所以你没有必要“模糊”它。也就是说,如果您使用
.ajax()
而不是
.load()
,您将完全控制返回的数据;您不需要将其添加到DOM中,除非您愿意。一旦它在DOM中,您可以使用
.detach()
删除它,而不必在以后需要时销毁它。

听起来好像您在试图解决一个不需要解决的问题。用户不会在意它是否在某个地方,因为你很快就会显示出来,所以你没有必要“模糊”它。也就是说,如果您使用
.ajax()
而不是
.load()
,您将完全控制返回的数据;您不需要将其添加到DOM中,除非您愿意。一旦它在DOM中,您可以使用
.detach()
删除它,而不必在以后需要时销毁它。

创建一个css类,如下所示:

.hiddenelement
{
    position:absolute !important;
    left:0% !important;
    top:0% !important;
    width:0% !important;
    height:0% !important;
}
隐藏元素时使用
.addClass('hiddenelement')
,显示元素时使用
.removeClass('hiddenelement')

当然,如果您将内联样式标记为
,这将不起作用!重要信息


注意:我相信这在没有定位的情况下也会起作用。

创建一个css类,如下所示:

.hiddenelement
{
    position:absolute !important;
    left:0% !important;
    top:0% !important;
    width:0% !important;
    height:0% !important;
}
隐藏元素时使用
.addClass('hiddenelement')
,显示元素时使用
.removeClass('hiddenelement')

当然,如果您将内联样式标记为
,这将不起作用!重要信息


注意:我相信这在没有定位的情况下也会起作用。

不确定我是否理解正确,但您可以执行以下操作:

start_animation();
$.get('url', function(response) { stop_animation_and_show_content(response); });

function stop_animation_and_show_content(html) {
    // ...
}

不确定我是否理解正确,但您可以执行以下操作:

start_animation();
$.get('url', function(response) { stop_animation_and_show_content(response); });

function stop_animation_and_show_content(html) {
    // ...
}

你可以给它一个负的边距-9999px top,然后在需要的时候将它移动到正确的位置。我相信Vael根本不希望它出现在DOM中。这就是我从他的问题中得到的。没有办法预先加载它,但它还没有“在那里”。你可以给它一个负的边缘-9999px顶部,然后在需要时将它移动到正确的位置。我相信Vael根本不希望它在DOM中。这就是我从他的问题中得到的。没有办法预先加载它,但它还没有“在那里”。我实际上使用的是.ajax()。谢谢你的帮助。}我实际上使用的是.ajax()。谢谢你的帮助。}