代码之家  ›  专栏  ›  技术社区  ›  Koen

用javascript隐藏iframe滚动条

  •  0
  • Koen  · 技术社区  · 14 年前

    我有一个jquery项目,我在一个覆盖(boxy插件)弹出窗口中用滚动条(scrolling=auto)打开一个iframe和一个动画。当覆盖关闭时,我希望弹出窗口在中间切换并淡出。到目前为止还不错,但是当iframe的大小在减小时,滚动条突然出现在整个事件消失之前。

    我尝试操作iframes滚动属性,但此时iframes的dom对象上似乎不存在该属性。有人能帮忙吗?

    3 回复  |  直到 14 年前
        1
  •  4
  •   Delan Azabani    14 年前

    不需要JavaScript。只需在iframe上使用以下css:

    overflow: hidden;
    
        2
  •  0
  •   Piskvor left the building Rohit Kumar    14 年前

    iirc,滚动条属于框架页面,必须在那里禁用。如果您的iframes是跨域的,这可能是不可能的。

        3
  •  0
  •   gertas    14 年前

    没有滚动条的无框架iframe:

     var el = document.createElement("iframe");
     var iframe_style = "overflow:hidden; margin:0;padding:0;"
     var ifattr = {
            id: 'my_iframe', width: '520', height: '300', 'scrolling': 'no', 'marginWidth':0,
            'marginHeight':0, 'noResize': 0, 'border': 0, 'frameBorder':0, 'frameSpacing':0,
            'background': 'transparent','allowTransparency': 'allowTransparency',
            'name' :'my_iframe','style':iframe_style};
    
     for (var i in ifattr) {
          el.setAttribute(i, ifattr[i]);
     }
    

    这是纯JS,可以使用 attr() ,在IE6-8,FF中测试。

    文档内部应该使用:body overflow:hidden;-如果确实需要,则不进行测试。