Javascript 确保在动态更改jquery时加载图像
我正在更改图像节点的图像src。 我希望能够确保在执行某些代码之前对其进行更改。我该怎么做 现在我有Javascript 确保在动态更改jquery时加载图像,javascript,jquery,Javascript,Jquery,我正在更改图像节点的图像src。 我希望能够确保在执行某些代码之前对其进行更改。我该怎么做 现在我有 function changePic(imgNode, newPic, desc){ var descNode = $("#description"); $(imgnode).fadeTo(500, 0, function(){ $(imgnode).attr("src", newPic); $(imgnode).attr("alt", desc)
function changePic(imgNode, newPic, desc){
var descNode = $("#description");
$(imgnode).fadeTo(500, 0, function(){
$(imgnode).attr("src", newPic);
$(imgnode).attr("alt", desc)
descNode.text(desc);
$(imgnode).fadeTo(500, 1);
});
}
如果服务器是fast/a本地服务器,则效果非常好。如果服务器运行缓慢,图像将在更改前淡入,效果会非常糟糕
有什么想法吗
编辑:调用changePic时,我正在加载图像。有更好的方法吗
更多:还有为什么最后一行不是个好主意
美元(imgnode),法德托(500,1),
,在回调函数之外?使用回调参数
从单据中提取:
$('#clickme').click(function() {
$('#book').fadeOut('slow', function() {
// Animation complete.
});
});
,但要确保它已完全加载,请使用
引述:
加载事件被发送到元素
当它和所有子元素
满载的。此事件可以是
发送到与
URL:图像、脚本、帧、iFrame、,
和窗口对象
不要错过这句话:
加载事件可能会发生
如果图像为空,则不会触发
从浏览器缓存加载。到
考虑到这种可能性,我们可以
使用激发的特殊加载事件
如果图像已准备好,请立即。
当前正在加载event.special.load
我举了一个例子,说明我认为你希望它如何工作。我在通过谷歌图片找到的三张图片之间切换。我在更改映像的src之前绑定load事件,以确保它被触发。
我想,您可以在隐藏元素中预加载图像,以便加载其他html。当来源改变时,应立即显示此类图像 猜猜在调用changePic之前您没有预加载图像?