虽然创建所需的图像尺寸的jQuery插件,我发现了WebKit浏览器如Chrome经常返回0大小的图像,因为它们是并行加载。
我的快速和肮脏的解决办法是包装调用我的插件的代码$(window).load()
事件:
$(document).ready(function() {
$(window).load(function() {
$('.magnifier').magnifier();
});
});
我怎么会去实现这个插件本身里面? 什么是检测图像已加载,所以我可以衡量其尺寸的干净的方式?
图片有一个负载()事件,所以你可以喜欢做一些事情:
$(document).ready(function() {
$('.magnifier').magnifier();
});
$.fn.magnifier = function() {
return this.each(function() {
$(this).find('img').load(function() {
// do something to image when it is loaded
});
});
}
你也可以简单地环绕插件本身内部window.load的代码:
$.fn.magnifier = function() {
var that = this;
$(window).load(function() {
that.each(function() {
$(this).find('img').each(function() {
// image would be loaded at this point
});
});
});
return this;
}
我不知道我完全理解,但所有的图像加载后,这将触发。
$("img").load(function() {
});