2013-09-27 74 views
0

是否有源代碼的簡單修改,以便預加載圖像圖像的選項可以在兩個方向上運行?fancyBox 2:在兩個方向上預加載圖像圖像

現在只有下一張圖像被預先加載,但在某些情況下,如果還要預加載先前的圖像,它可能是有意義的,例如,如果選擇3個預加載圖像的數量,則預加載下3個和前3個圖像。然後用戶可以輕鬆地在畫廊內前進或後退。

回答

0

我想知道這個我自己,看來你可以編輯_preloadImages函數略微完成這一點。複製for-loop內的內容,只將plus改爲minus。

所以,

 for (i = 1; i <= cnt; i += 1) { 
      item = group[ (current.index + i) % len ]; 

      if (item.type === 'image' && item.href) { 
       new Image().src = item.href; 
      } 
     } 

變爲:

 for (i = 1; i <= cnt; i += 1) { 
      item = group[ (current.index + i) % len ]; 

      if (item.type === 'image' && item.href) { 
       new Image().src = item.href; 
      } 

      item = group[ (current.index - i) % len ]; 

      if (item.type === 'image' && item.href) { 
       new Image().src = item.href; 
      } 
     }  

這看起來很例如,如果你改變預載到1後快速測試工作,現在預裝上的兩側只有那些當前項目。

(這是對的fancybox v2.1.5)

編輯:一些更多的測試後,看來你還需要添加一個檢查,以防止負面組項目,像這樣:

  if (current.index - i >= 0) { 
       item = group[ (current.index - i) % len ]; 

       if (item.type === 'image' && item.href) { 
        new Image().src = item.href; 
       } 
      } 
+0

是,它的工作原理,非常感謝你! – bocoli