我有与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];
    };

09-12 20:35