2012-04-13 55 views
0

Fancybox看起來不錯,但是當我點擊右側或下一個箭頭時,圖像從頂部滴入。我覺得很奇怪。當我看到這樣的箭頭時,我將即將到來的圖像描繪爲在該方向上離開屏幕。當它從頂部落下時,它對我來說很刺耳。如何將fancybox滾動更改爲從左到右?

那麼你如何使fancybox水平滾動?似乎有幾乎所有的參數,但不是滾動方向。 (我的JavaScript技能僅限於其他人的工作小改動。)

回答

0

好吧,一半的答案來了,這是星期五晚上,我很快就離開工作崗位,但改變插件:

changeOut: function() { 

     var wrap = F.wrap, 
      current = F.current, 
      cleanUp = function() { 
       $(this).trigger('onReset').remove(); 
      }; 

     wrap.removeClass('fancybox-opened'); 

     if (current.prevEffect === 'elastic') { 
      if(F.coming.index < F.current.index) { 
      wrap.animate({ 
       'opacity': 0, 
       right :'+=200px' 
      }, { 
       duration: current.prevSpeed, 
       easing: current.prevEasing, 
       complete: cleanUp 
      }); 
      } 
      else { 
       wrap.animate({ 
       'opacity': 0, 
       left :'+=200px' 
      }, { 
       duration: current.prevSpeed, 
       easing: current.prevEasing, 
       complete: cleanUp 
      }); 
      } 

     } else { 
      wrap.fadeOut(current.prevEffect === 'fade' ? current.prevSpeed : 0, cleanUp); 
     } 
    } 

這隻有它的一半,changeIn: function()似乎沒有F.coming.index,我用它來找出它要去哪個方向。

+1

我喜歡過渡,而不是從頂部。我發現從頂部到左側更改startPos可以讓幻燈片繼續,但前後都是一樣的。 \t \t \t'如果(current.nextEffect === '彈性'){ \t \t \t \t startPos = F._getPosition(真); \t \t \t \t startPos.opacity = 0; \t \t \t \t startPos.left =(parseInt(startPos.left,10)-200)+'px'; \t \t \t \t wrap.css(startPos).show()動畫({ \t \t \t \t \t不透明度:1, \t \t \t \t \t左: '+ = 200像素' \t \t \t \t}, { \t \t \t \t \t持續時間:current.nextSpeed, \t \t \t \t \t寬鬆:current.nextEasing, \t \t \t \t \t完整:F._afterZoomIn \t \t \t \t});' – Zpinhead 2012-04-13 18:09:51

+0

感謝您的回覆@小大機器人。在我之前可以這麼說之前,Stackflow將我斷掉了。 ;-)是否有一種(相對簡單的)方法來使next/prev按鈕像next/prev一樣工作。隨着我的修復,我得到的是下一個效果,無論是下一個還是之前。 – Zpinhead 2012-04-13 21:29:32

+0

啊,沒有問題。我會看看我能找到什麼。如果我無法弄清楚,'prevEffect:fade'是另一種選擇。 – 2012-04-13 21:43:56