2010-09-17 77 views
0

我有一个jQuery项目,我用一个动画在叠加层(boxy插件)弹出窗口中打开带滚动条(滚动=自动)的iframe。当叠加层关闭时,我想要弹出窗口来补间和淡出。到目前为止这么好,但是当iframe的大小减少时,滚动条在整个事情消失之前突然出现。用javascript隐藏IFRAME滚动条

我试过操纵iframes滚动属性,但似乎并没有在iframes的DOM对象上存在。谁能帮忙?

回答

4

无需JavaScript。只需使用下列CSS的IFRAME:

overflow: hidden; 
+0

这工作谢谢 – Koen 2010-09-17 09:42:09

0

IIRC,滚动条属于框架网页,并且必须有禁用。如果你的iframe是跨域的,这可能是不可能的。

+0

我试图访问iframes窗口,框架和文档属性,但都未定义。最初,iframe跨域(调查服务),但最终我们在域内有一个着陆页,触发淡出脚本。 – Koen 2010-09-17 09:38:56

0

无框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,可以很容易地移植到jQuery的与使用的attr(),在IE6-8,FF测试。

里面的文档应该使用:body {overflow:hidden;} - 未经测试是否真的需要。