0

我有一些来自 Firefox 的奇怪行为,我正在构建一个单页作品集,作为一名平面设计师,编码一直很困难。我想平滑地控制导航,然后为所有元素添加缩放(最初为 1920x1080 全屏设计)。讲师丢下了一个炸弹,它也需要垂直滚动,我正在尝试让垂直导航工作。

问题是当我切换到全屏时,大多数导航代码在执行之前似乎需要很长时间。这只发生在我切换到全屏时。如果我切换并刷新,那就没问题了。我真的很想知道是什么让整个事情变慢了。

我试过没有插件的安全模式。我正在使用带有 Firebug 的 Firefox 24.0 来处理这些问题。

我创建了一个代码小提琴(我的第一个,它已经坏了):http: //jsfiddle.net/jeffreyknipe/xfjmC/1/

滚动的代码如下:

    function navTo(horizontal, vertical) {
        browserWidth = $(window).innerWidth();
        browserHeight = $(window).innerHeight();
        newRatio = browserWidth / 1920;

        $('html body div#full_site section#pages_section').animate({
            marginLeft: '-' + browserWidth * horizontal,
            marginTop: (browserWidth / 16 * 9) * vertical
        }, 1000);
        if (horizontal == 0) {
            $('#menuspace #floating_topbar #menuzone').animate({
                marginRight: 0
            });
        } else {
            $('#menuspace #floating_topbar #menuzone').animate({
                marginRight: (newRatio * (-340))
            });
        };
    };

我知道那里的编码员会对代码效率低下感到不满,但任何建议都会受到赞赏。最大的事情是全屏代码变慢了。

谢谢。

4

1 回答 1

0

当在全屏切换时对项目或位置的更改进行动画处理时,问题就出现了。我切换到使用 .css 而不是 .animate 设置新值(我确实希望它动画到新位置)但由于这里的动画不是一个交易破坏者,它解决了我是一个快乐的露营者的问题。

我必须假设它想要动画,但是在更改过程中,java 脚本引擎或 Firefox 中的某些东西太忙了,这几乎是一个错误,但我无法隔离脚本被卡住时发生的事情,所以我无法报告它.

于 2013-11-07T04:46:48.247 回答