要做一个图片放大预览的效果,使用了 jquery lightbox 这个jquery 插件,官方网址是:http://leandrovieira.com/projects/jquery/lightbox/
在使用的过程中(使用的是0.4版本,目前是0.5版本了)遇到了两个问题,记录如下:
1.第一个问题是:当要加载的页面不存在时,这个js默认的情况下会一直显示一个加载的图标,这样用户会产生误解,现像如下所示:
【转贴】事件处理器和支持它们的对象
通过这篇文档我知道,onLoad 事件是当文档或图片装载完毕后才会触发,而刚图片不存在时,这个事件就永远不会触发了。后来在
objImagePreloader.onload = function() {
//alert(objImagePreloader.width);
//alert(objImagePreloader.height);
// Perfomance an effect in the image container resizing it
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
// clear onLoad, IE behaves irratically with animated gifs otherwise
objImagePreloader.onload=function(){};
};
Onload 事件前加上了这样一句话,
_resize_container_image_box(400,300);
手动调用 _resize_container_image_box 函数,来调整容器的大小,这样当图片不存在时,会显示一个图像不存在的图标,这样感觉要好一些:
2. 另外在使用过程中还发现了这样一个问题,就是当图片尺寸比较小时,会比较难看:
我们可以在 _resize_container_image_box 这个方法里面对图像的宽度和高度加一些判断,如:
if(intImageWidth < 300){intImageWidth = 300;};if(intImageHeight < 200 ){intImageHeight=200;};
这样就可以了: