我有一个我使用的jquery图像预览插件。我这样用:
$('a.preview').live('mouseover', function() {
$(this).imgPreview({
preloadImages: 'true',
});
});
我希望imgPreview函数在jquery ajaxcall之后执行,该jjery将在DOM中插入图像。所以我想执行它来预加载图像。
任何想法?
答案 0 :(得分:1)
在ajax调用中成功回调时,对返回的数据执行相同的预加载:
$.ajax({
url: 'doop.php',
type: 'POST',
data: 'before=' + theold + '&after=' + thenew,
success: function(data) {
$('a.preview', data).imgPreview({
preloadImages: 'true'
});
}
});
这会对刚刚回来的ajax响应中的每一个执行.imgPreview。
答案 1 :(得分:0)
我使用这个小功能。
jQuery.preloadImages = function()
{
for(var i = 0; i<arguments.length; i++)
{
jQuery("<img>").attr("src", arguments[i]);
}
};
然后你可以在你处理onDomReady东西的地方做$ .preloadImages('/ url / to / image.gif')。这样当你进行ajax调用时,它将全部缓存在浏览器中