在Firefox中动态设置style.overflow的问题

时间:2009-02-03 16:09:28

标签: javascript firefox html

我正在为客户开发网站,我们有以下要求:

  1. 当浏览器宽度大于960px时,不显示滚动条。
  2. 当内容比浏览器宽但浏览器宽度大于960时,不显示滚动条
  3. 如果浏览器为960px,则在需要时不显示滚动条。
  4. 我有以下javascript在ie,chrome,safari和opera下完美运行,但在FF中死于强制页面“重新加载”客户端(它重绘所有元素)。

    function sizeHandler(myWidth) {
        if (myWidth > 960)
            document.documentElement.style.overflowX = 'hidden';
        else
            document.documentElement.style.overflowX = 'auto';
    }
    

    因为每个人似乎对内容提出质疑,所以这是HTML:

    <body>
        <div id="flashContent">
            <object...>
            </object>
        </div>
    </body>
    <script...>$(document).ready(sizeHandler(getWidth()));</script>
    

    忽略getWidth(),它有效,但我不想再添加15行;)。 object标签是flash对象。

1 个答案:

答案 0 :(得分:1)

尝试使用document.body而不是document.documentElement。在HTML元素上设置CSS属性可能会产生意想不到的怪癖。