2012-04-13 129 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