我有与lightbox-0.5 jquery compatibility issue相同的问题
基本上我使用的是jQuery Lightbox,并且有一个图库。如果我第一次单击图片,然后按->箭头键,它将转到下一张。但是,如果我关闭它并重新打开,则当我按->箭头键时,它会跳过一个。如果我关闭它并重新打开它,它会跳过两个。等等。
如果你们想在这里查看代码:http://pastebin.com/pAigYDCj
最佳答案
我通过以下方式解决了问题:在方法_set_image_to_view()
中,在行之间添加行_disable_keyboard_navigation();
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
和objImagePreloader.onload=function(){};
因此,整个方法如下:
function _set_image_to_view() { // show the loading
// Show the loading
$('#lightbox-loading').show();
if ( settings.fixedNavigation ) {
$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
} else {
// Hide some elements
$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
}
// Image preload process
var objImagePreloader = new Image();
objImagePreloader.onload = function() {
$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
// Perfomance an effect in the image container resizing it
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
// for reducing problem with navigation using keyboard (switching some pic at one time)
_disable_keyboard_navigation();
// clear onLoad, IE behaves irratically with animated gifs otherwise
objImagePreloader.onload=function(){};
};
objImagePreloader.src = settings.imageArray[settings.activeImage][0];
};