2011-12-02 43 views

回答

1

的fancybox可以有相同的开放效果的样品中你提供了但不是相同的收盘效果。

要达到同样的效果开盘,试试这个选项:

openMethod : 'changeIn' 

保持画廊之间的过渡期间相同的效果,试试这个选项:

nextMethod: 'changeIn' 

0

那么我的建议是,除非你知道如何从自己的jQuery代码之一,那么你最好的选择是保持环视净,直到你能解决的东西。

如果您正在研究可能重新制作或扩展其中一个插件,那么阅读一本好书是JQuery:新手忍者,在亚马逊上检查它。那里有很多好的提示和技巧。

http://www.amazon.co.uk/jQuery-Novice-Ninja-Earle-Castledine/dp/0980576857/ref=sr_1_1?ie=UTF8&qid=1322832342&sr=8-1

但是总的来说,你不想重新发明轮子。 因此,继承人几个链接,JQuery的灯箱插件

http://www.designyourway.net/blog/resources/30-efficient-jquery-lightbox-plugins/ http://webdesign14.com/30-best-jquery-lightbox-plugins/

9

添加自定义的转换 -

(function ($, F) { 
    F.transitions.dropIn = function() { 
     var endPos = F._getPosition(true); 

     endPos.top = (parseInt(endPos.top, 10) - 200) + 'px'; 

     F.wrap.css(endPos).show().animate({ 
      top: '+=200px' 
     }, { 
      duration: F.current.openSpeed, 
      complete: F._afterZoomIn 
     }); 
    }; 

    F.transitions.dropOut = function() { 
     F.wrap.removeClass('fancybox-opened').animate({ 
      top: '-=200px' 
     }, { 
      duration: F.current.closeSpeed, 
      complete: F._afterZoomOut 
     }); 
    }; 

}(jQuery, jQuery.fancybox)); 

使用他们喜欢的 -

$(".fancybox").fancybox({ 
    openMethod : 'dropIn', 
    openSpeed : 250, 

    closeMethod : 'dropOut', 
    closeSpeed : 100 
}); 

而且哇拉 - 同样的效果!

+0

这看起来是正确的,尽管在尝试设置时出现js错误,但之前没有扩展jQuery插件,哪里是放置此代码的最佳位置? (对于ref,我得到的错误是:Uncaught TypeError:无法读取未定义的属性'转换') – Fruit

+0

您可以在打开