Javascript 当高度不是100%时,iFrame不可滚动

Javascript 当高度不是100%时,iFrame不可滚动,javascript,html,css,jsp,iframe,Javascript,Html,Css,Jsp,Iframe,我有两个iFrame,一个是内容(这与此无关),但另一个让我抓狂的是一个垂直菜单,它向用户显示多个选项 每次垂直菜单(我们称之为vmenu)出现时,我都会根据菜单将显示的选项数计算其高度,如果结果高度大于窗口。innerHeight,vmenu的高度将设置为该窗口。innerHeight 但这样它就不能滚动了。相反,如果我将其高度设置为100%,它将是可滚动的,但会扩展到整个页面(背景页面),这使得它也可滚动(两个可滚动的框架,糟糕) 我只想将vmenu的高度设置为window.innerHei

我有两个iFrame,一个是内容(这与此无关),但另一个让我抓狂的是一个垂直菜单,它向用户显示多个选项

每次垂直菜单(我们称之为vmenu)出现时,我都会根据菜单将显示的选项数计算其高度,如果结果高度大于
窗口。innerHeight
,vmenu的高度将设置为该窗口。innerHeight

但这样它就不能滚动了。相反,如果我将其高度设置为100%,它将是可滚动的,但会扩展到整个页面(背景页面),这使得它也可滚动(两个可滚动的框架,糟糕)

我只想将vmenu的高度设置为
window.innerHeight
,并且可以滚动而不影响整个页面

我已经设置了
overflow-y:scroll
,还尝试将滚动属性设置为“yes”并强制执行,但没有任何效果

我的iframe代码:

<iframe 
    id="iFrameVMenu" 
    name="iFrameVMenu" 
    frameborder="0" 
    style="width: 0%; height: 100%; position: absolute; right: 0px; visibility: hidden; overflow-y: scroll;" 
    scrolling="auto" 
    src='<%= request.getContextPath() + "/.../.../.../layout.jsp" %>' 
    onmouseout="...">

如果有帮助的话,我提到的这两个iFrame(现在只有一个重要)都在JSP页面中

如果你能告诉我如何让它正常工作,我将不胜感激


谢谢。

首先,尝试删除内联样式以获得最佳编码实践。第二:为什么
宽度:0%
?iframe将不会以这种方式显示!尝试将其设置为
width:100%
或类似您应该提供更多代码,但我的建议是将vmenu包装在一个div标记中,该标记的高度始终设置为window.innerWidth,而vmenu保留高度:100%和overflow-y:scroll。