javascript - 固定了导航栏,下方有iframe,iframe内容较长。然后滚动后上方的导航栏就会挡住Iframe的一部份,怎么解决呢?

查看:104
本文介绍了javascript - 固定了导航栏,下方有iframe,iframe内容较长。然后滚动后上方的导航栏就会挡住Iframe的一部份,怎么解决呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

内容代码

<header id="nav">
    <div>
        <a href="#" class="left_float"><img src="#" class="logo"></img></a>
        <a href="#" class="nava left_float navcurrent"><span>栏目管理</span></a>
    </div>
</header>
<div id="content" class="right_float">
    <iframe id="content-iframe" src="__ADMINDOMAIN__/index/addnav" frameborder="0" width="100%" height="100%" name="right_content" scrolling="auto" frameborder="0" scrolling="no"></iframe>
</div>
<!-- 右侧内容结束 -->
<bootstrapjs />
<script>
// 动态调整iframe的高度以适应不同高度的显示器
$('#content').height($(window).height());
$('#content').css('padding-bottom',50);
</script>

控制导航栏的js,都用了jq

$(function () {  
        var ie6 = /msie 6/i.test(navigator.userAgent)  
        , dv = $('header'), st;  
        dv.attr('otop', dv.offset().top); //存储原来的距离顶部的距离  
        $(window).scroll(function () {  
            st = Math.max(document.body.scrollTop || document.documentElement.scrollTop);  
            if (st >= parseInt(dv.attr('otop'))) {  
                if (ie6) {//IE6不支持fixed属性,所以只能靠设置position为absolute和top实现此效果  
                    dv.css({ position: 'absolute', top: st });  
                }  //其他浏览器则直接加上fixed属性
                else if (dv.css('position') != 'fixed') dv.css({ 'position': 'fixed', top: 0 });  
            } else if (dv.css('position') != 'static') dv.css({ 'position': 'static' });  
        });  
    });

解决方案

没办法解决啊。你屏幕智能显示100行,你想让显示200行显然是不可能的。
那么问题来了,如果只是首屏的时候,你给iframe加个margin或者padding 导航的高度不就完事了么

这篇关于javascript - 固定了导航栏,下方有iframe,iframe内容较长。然后滚动后上方的导航栏就会挡住Iframe的一部份,怎么解决呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆