Javascript 代码在 FireFox 中无法正常工作

Posted

技术标签:

【中文标题】Javascript 代码在 FireFox 中无法正常工作【英文标题】:Javascript code not properly work in FireFox 【发布时间】:2012-09-10 17:02:12 【问题描述】:
<body>
    <a href="link" id="left-link" style="position: fixed; width:0px; height: 100%; "></a>`
    <a href="link" id="right-link" style="position: fixed; width: 0px; right: 0px; height: 100%; "></a>
    <div id="page-wrap"> .... </div>

    <script>
        (function ($) 
            jQuery(window).resize(function () 
                var width = jQuery('#page-wrap').css('margin-left');
                jQuery('#left-link').css( width: width );
                jQuery('#right-link').css( width: width );
            );

            var width = jQuery('#page-wrap').css('margin-left');
            jQuery('#left-link').css( width: width );
            jQuery('#right-link').css( width: width );

        )(jQuery);
    </script>
</body>

我创建了这个脚本,但不在 Firefox 中播放,我找不到错误。 Chrome 和 IE 播放正确。

【问题讨论】:

注意:(function($) ... )(jQuery) 的意义在于您可以在... 中使用$ 代替jQuery 什么是不工作的?当您进行初始分配时,可能是 DOM 还没有准备好?你在width 中得到了什么价值? 在 chrome 和 ie 处,宽度根据页面宽度从 0px 变为其他数字。在 Firefox 中宽度不要改变! 您知道在您的代码中使用margin-left?我不明白为什么 margin-left 会改变? 我在 Chrome、Firefox 和 IE 中都尝试了小提琴 sra 所做的。我还将它本地放在我的计算机上,以排除小提琴上的 iframe。 margin-left 始终为 0px。它在所有浏览器中看起来都一样。 【参考方案1】:

那是什么不工作?

是应该在调整大小时执行的代码吗?通过在萤火虫中使用断点来测试它,或者只是在控制台上打印一些东西。顺便提一句。你可以把它写成这样更好看

$(window).on("resize", function()  /* your stuff here */ );

还是无法调整您要操作的两个元素的宽度?在这种情况下,您应该仔细查看您的宽度变量所持有的值,也许它是在 Firefox 中以某种方式计算出来的。

【讨论】:

在 chrome 和 ie 处,宽度根据页面宽度从 0px 变为其他数字。在 Firefox 宽度不改变,我找不到错误

以上是关于Javascript 代码在 FireFox 中无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 警报在 Firefox 6 中不起作用

如何在 Firefox / Firebug 中美化 JavaScript 和 CSS?

五句话搞定JavaScript作用域

以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?

Javascript 上的文件下载在 Firefox 上不起作用

Firefox 4.0b1 中 jssh 中的 Javascript 错误