2011-11-22 64 views
4

我想從這裏jQuery的燈箱插件集成:http://leandrovieira.com/projects/jquery/lightbox/收藏-0.5 jQuery的兼容性問題

這是工作,但只用jQuery 1.2.3

當收藏夾被關閉並啓動了第二次,那就是當下一個和上一個鏈接不能正確地循環顯示照片時,

如果我點擊下一個鏈接,照片的順序開始像跳過一樣,而不是通過照片逐一點擊它跳1 ,3,5等

順便說一句,這個問題只發生在我嘗試用鍵盤箭頭導航時,如果我用鼠標那麼它的罰款,但只有鍵盤

奇怪,因爲我試圖解壓縮原始提供的示例文件,我只是取代了jQuery的版本較新的一個,那就是當我發現了這個問題,

我所做的改變jQuery的版本1.2.3,從任何一個新的,這是當問題開始

我試着在Internet Explorer,Firefox,Chrome,Safari瀏覽器甚至不同的計算機上運行相同的HTML,但仍然是同樣的問題

+0

您使用的是Firebug或其他調試工具嗎?你會在控制檯中看到錯誤,指出問題出在哪裏? – danwellman

+0

螢火蟲沒有錯誤,這個問題只會在我更改jquery的任何新版本的jquery引用時開始,問題是它跳過鍵盤上的一些圖像按下按鈕,並且僅當我第二次啓動燈箱時開始發生(第一次工作正常) – user1060515

回答

2

你能發佈一個鏈接到網頁上的問題頁面嗎?

此外,您可以嘗試交換燈箱Slimbox2 - 它具有幾乎相同的用戶界面,但可以徹底解決錯誤。

+0

謝謝韋德,我在燈箱裏注意到我嘗試使用的是,如果你嘗試在這種情況下通過鼠標單擊箭頭(下一個和前一個箭頭)循環,圖像循環正常,這個問題只會在按下鍵盤箭頭後纔會啓動,所以我解決這個問題的方法是,一旦鍵盤按下了jquery case,我只是強迫點擊事件,我知道它不是解決這個問題的最好方法,但我認爲它很好作爲臨時解決方案 – user1060515

0

我解決了這個問題是這樣的:在該方法中_set_image_to_view()添加線條 _resize_container_image_box(objImagePreloader.width,objImagePreloader.height);

objImagePreloader.onload=function(){};

之間的線路_disable_keyboard_navigation();因此整個方法如下:

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]; 
    };