与春风 2021-12-26 10:03 采纳率: 63.6%
浏览 22
已结题

设置了iframe的高度,覆盖了底下的iframe,如何在菜单收起的时候改变iframe的高度,或者其他能让底下的iframe浮上来,也或者是如何调用子页面的元素

这是父页面index页

<script>                
document.onclick=function() {                        
        if(document.getElementById('navmenu').contentWindow.document.getElementsByClassName('nav-items')[0],null)['opacity']==0){    
          //这段写错了的,这里我想调用子页面的元素class,就是下面那段css,判断opacity=0时,改变高度,主要是我不会写这里的代码   
                document.getElementsById("navmenu").style.height="45px";                                
        }                                
}                        
</script>                
                                                                                                                                        
        </head>
        <body>
        <iframe src="/title.html" id="title" name="title" width="100%" height="80px" frameborder="no" scrolling="no" marginwidth="0" mar
        <div></div>
        <div style='position:absolute;width:95%;'>            
                <iframe src="" id="navmenu" name="navmenu" width="100%" height="450px" marginwidth="0" marginheight="0" scrolling="no" f
        //这里的iframe设置高为450,因为这个是菜单的页面,但是收回去之后还是占了450,导致点击下面的iframe时点击不了,在450以下的可以正常点击,所以想能不能当子页面的opacity=0时,就是菜单收回之后,把高度改成45呢
        </div>
        <div style="margin-top:45px;">                   
                <iframe src="" id="content" height="1500px" name="content" scrolling="auto" marginwidth="0" topmargin="0" marginheight="
        </div>
</body>      

这是子页面菜单的css,试过把opacity换成display没用

 .nav-items{             
                        background-color: rgba(0,0,0,.82);
                        height: 100vh;                                                         
                        position: absolute;     
                        top: 44px;
                        left: 0;
                        transform: scaleY(0);                                    
                        transition: transform .3s ease-in-out .3s, opacity .3s ease-in-out .3s;
                        transform-origin: 50% 0;                                                        
                        opacity:0;                                                                      
                }                                                                                                                       
                #toggler:checked ~ .nav-items{                                                                                          
                        transform: scaleY(1);                                                                                           
                        opacity:1;                                                                                                      
                }  

img


img


所以最主要的是我想调用子页面的元素class,或者有其他更好的办法,请各位指导

  • 写回答

1条回答 默认 最新

  • 与春风 2021-12-26 15:35
    关注

    最后在子页面添加调用父页面的元素

    <script>
    document.onclick=function() {
        if(getComputedStyle(document.getElementsByClassName('nav-items')[0],null)['opacity']==1){
            document.getElementsByTagName("input")[0].checked = 0;
            window.parent.document.getElementById('navmenu(父页面的元素id)').style.height='45px';
        }
            else{window.parent.document.getElementById('navmenu(父页面的元素id)').style.height='600px';
    }
    </script> 
    

    //点击页面任意位置,取消input选中,并且改变父页面的元素样式

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月26日
  • 修改了问题 12月26日
  • 修改了问题 12月26日
  • 修改了问题 12月26日
  • 展开全部

悬赏问题

  • ¥15 Android Navigation: 某XDirections类不能自动生成
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)