jquery加载首先下载内容

时间:2010-08-16 16:15:09

标签: jquery load jpeg

这是一个奇怪的情况,我有一个jquery脚本可以使用load()和一个带有gif加载器的PHP脚本,直到检索到这个脚本 FADING IN ,这个jquery在点击时启动< / p>

问题是jquery脚本对于它的真实意图有点无用,因为我调用的这个php脚本返回类似

的内容
<img src="resizer.php=filename=/img/1.jpg&width=400" />

其中1.jpg(文件名)由ajax中调用的PHP页面从与通过load()传递的图像的id相关的数据库中检索

所以,当html文本淡入图像时仍然需要从resizer.php加载,因此它会正常显示

一旦下载了所有内容,我怎样才能将其组织为淡入淡出?我无法直接调用resizer.php,因为它输出了JPEG标题

3 个答案:

答案 0 :(得分:1)

var img = new Image();
img.onload = function() { /* CALLBACK GOES HERE */ }
img.src = "resizer.php=filename=/img/1.jpg&width=400";

如果您无法控制输出<img>标记的页面,则可以使用正则表达式或DOM解析器提取源代码。

答案 1 :(得分:0)

我不确定我是否理解正确,但如果你这样做:

$document.ready(function() {

$('#loadID').load("resizer.php=filename=/img/1.jpg&width=400", function(){

$('#loadID').fadeIn('slow');    

});

});

在“resizer.php = filename = / img / 1.jpg&amp; width = 400”完全加载之前,不会触发fadeIn。

希望有所帮助。

编辑:修复选择器(fadeIn)

loadID将是您要加载的ID。

答案 2 :(得分:0)

添加另一个答案。 在你的情况下你想获取php脚本的结果,所以你想要使用方法get或post来使用jQuery的ajax函数。例如:

$.get("file.php", function(data){ alert("Data Loaded: " + data); });

这会弹出一个警告框,上面写着“数据加载:无论php返回

所以在你的情况下你会这样做:

$.get("resizer.php", function(data){ $('#loadID').html(data) });

同样,如果这不是你想要的,我可能不会理解100%抱歉。