0

我正在尝试在我正在开发的这个新网站上使用 Fancybox 2.1.3:http: //egelect.com/2013/eg-electrique-maitre-electricien.php

问题是 Fancybox 动画的原点不是屏幕中心,它应该是。我正在使用 Fancybox 开箱即用的规格。

我知道这是因为 jQuery.Animate-Enhanced.min.js (v0.99),因为当我注释掉这个 .js 时,Fancybox 的行为是正确的。

在 Chrome、FF 和 IE9 上测试。

任何人作为线索我应该寻找什么?

谢谢!

4

2 回答 2

0

最初打开fancybox时,我遇到了与Fancybox 1.3相同的问题。但是,如果您注意到 - 如果您调整浏览器的大小 - 它会自行居中。

我还没有时间找到解决方案,但我确实设法在 $.fancybox.center 函数中找到了它 - 它在哪里调用 animate 函数 - 完成后,t webkit 动画的计算几乎最终否定了顶部和花式框的左侧位置。如果您在动画之后检查元素,您将看到这一点。

于 2013-02-22T19:42:11.317 回答
0

我解决了这个问题,在重新定位函数(到 jquery.fancybox.js 脚本中)添加一个切换开关,以在定位fancybox 时避免 CSSTransitions。

我真的不太喜欢这个解决方案,但它确实有效。

我的代码:

    reposition: function(e, onlyAbsolute) {
        var current = F.current,
                wrap = current ? current.wrap : null,
                pos;

        if (wrap) {
            pos = F._getPosition(onlyAbsolute);

            if (e && e.type === 'scroll') {
                delete pos.position;

                wrap.stop(true, true).animate(pos, {avoidCSSTransitions:true}, 200);

            } else {
                $.toggleDisabledByDefault();
                wrap.css(pos);
                setTimeout(function(){
                    $.toggleDisabledByDefault();
                },1);
                current.pos = $.extend({}, current.dim, pos);
            }
        }
    },
于 2014-09-24T15:35:56.670 回答