繁体   English   中英

使用JavaScript隐藏IFRAME滚动条

[英]Hide IFRAME scrollbars with javascript

我有一个jQuery项目,其中在带有动画的叠加(框式插件)弹出窗口中,使用滚动条(scrolling = auto)打开iframe。 当覆盖层关闭时,我希望弹出窗口可以进行补间和淡出。 到目前为止还算不错,但是当iframe的大小减小时,滚动条突然出现,然后整个事情消失了。

我尝试操纵iframe的滚动属性,但那时iframe的DOM对象上似乎还不存在这种属性。 有人可以帮忙吗?

无需JavaScript。 只需在iframe上使用以下CSS:

overflow: hidden;

IIRC,滚动条属于框架页面,必须在此处禁用。 如果您的iframe是跨域的,则可能无法实现。

没有滚动条的无框架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()轻松移植到jQuery,在IE6-8,FF中进行了测试。

内部文档应使用:body {overflow:hidden;}-未经测试是否确实需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM