>  기사  >  웹 프론트엔드  >  在iframe子页面中添加导航功能代码_html/css_WEB-ITnose

在iframe子页面中添加导航功能代码_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:45:241504검색

使用iframe嵌套页面,并在页面中添加导航功能,iframe只适应高度


效果图如下图



主页面


          


                                     onLoad="iFrameHeights();" width="100%;" frameborder="0"
                    src="/a.jsp">
                
            


主页面js

//让iframe只适应高度

function iFrameHeights() {
    var ifm = document.getElementById("rightIframePage");
    ifm.height = 0;
    var subWeb = document.frames ? document.frames["rightIframePage"].document : ifm.contentDocument;
    if (ifm != null && subWeb != null) {
        ifm.height = subWeb.body.scrollHeight;
        ifm.parentElement.style.height = subWeb.body.scrollHeight + "px";
    }
}


iframe页面a.jsp




     
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    




    
        style="visibility: visible;">
        

            

            

        

        
        

        

            

                

                    1
                    城区报表
                    
                

                

                    2
                    片区报表
                    
                

                

                    3
                    职业特长报表
                    
                

                

                    4
                    公司报表
                    
                

                

                    5
                    房源数报表
                    
                

                

                    6
                    资格认证报表
                    
                

                

                    7
                    成交数报表
                    
                

                

                    8
                    性别报表
                    
                

                
            

        

    
    
    


导航js 代码


$(document).ready(function() {
    //让iframe回到顶部   

    parent.scrollTo(0,0);
    initTitleNavigationEvent("broker");
    // 主页面滚动时,模仿position: fixed;这种功能,因为position: fixed;对于iframe子页面来说不起作用
    $(parent.window).scroll(function() {
        $('#sideToolbar').css({
            top : $(parent.window).scrollTop() + 116
        });
        // 滚动父页面滚动条时相应的切换导航位置,即让导航跟随页面滚动
        scrollNavlWithHtmlScroll("broker");
    });
    
});

/**
 * 初始化事件
 */
function initTitleNavigationEvent(name){
    
    // 添加单击事件
    $("#sideCatalog-catalog dl dd a").bind('click',{name : name}, function(e) {
        var id = e.target.id.substring(e.target.id.lastIndexOf("-") + 1, e.target.id.length);
        quickPositioning(e.data.name + id);
        $("#sideCatalog-catalog dl dd").removeClass("highlight");
        $(this).parent().addClass("highlight");
    });
    
    // 滚动到顶部
    $("#sideToolbar-up").bind('click', function(e) {
        parent.scrollTo(0,0);
    });

    // 显示或隐藏导航
    $("#sideCatalogBtn").bind('click', function(e) {
        if ($(this).hasClass('sideCatalogBtnDisable')) {
            $("#sideCatalog-sidebar").show();
            $("#sideCatalog-updown").show();
            $("#sideCatalog-catalog").show();
            $("#sideCatalogBtn").removeClass("sideCatalogBtnDisable");
        } else {
            $("#sideCatalog-sidebar").hide();
            $("#sideCatalog-updown").hide();
            $("#sideCatalog-catalog").hide();
            $("#sideCatalogBtn").addClass("sideCatalogBtnDisable");
        }
    });
}

/**
 * 滚动到指定位置
 * @param id 位置id
 */
function quickPositioning(id){
    document.getElementById(id).scrollIntoView();
}

/**
 * 导航跟随页面滚动
 */
function scrollNavlWithHtmlScroll(name){
    // 滚动条距离顶端值
    var wst = $(parent.window).scrollTop();
    // 加循环
    for (var i = 1; i         // 判断滚动条位置
        if ($("#" + name + i).offset().top             // 清除高亮
            $('#sideCatalog-catalog dl dd').removeClass("highlight");
            // 给当前导航加高亮
            $("#sideToolbar-item-0-" + i).addClass("highlight");
        } else {
            break;
        }
    }
}


css文件 titleNavigation.css

.sideToolbar {
    display: block;
    position: fixed;
    top: 117px;
    left: 970px;
}

#sideCatalog {
    width: 190px;
    height: 355px;
    overflow: hidden;
    margin-bottom: 10px;
    font-size: 14px;
    font-family: 宋体;
    line-height: 19px;
    position: relative;
    zoom: 1;
    left: 10px;
}

#sideCatalogBtn {
    width: 45px;
    height: 45px;
    display: block;
    background: transparent url(/images/img/sideToolbar.gif) 0 0
        no-repeat;
    cursor: pointer;
    margin-bottom: 5px;
    position: relative;
    margin-left: 10px;
    display: block;
}

.sideCatalogBtnDisable {
    background: transparent url(/images/img/sideToolbar.gif)
        -104px 0 no-repeat !important;
}

a:focus {
    outline: 0;
}

a:visited {
    color: #136ec2;
}

a:hover {
    text-decoration: underline;
}

#sideToolbar-up {
    display: block;
    width: 45px;
    height: 45px;
    margin-left: 10px;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    background: transparent url(/images/img/sideToolbar.gif)
        -1px -62px no-repeat;
}

#sideCatalog #sideCatalog-sidebar {
    top: 0;
    width: 0;
    height: 353px;
    background-color: #eaeaea;
    border: 1px solid #eaeaea;
    border-top: 0;
    border-bottom: 0;
    position: absolute;
    left: 5px;
}

#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-top {
    top: 0;
    cursor: pointer;
}

#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-top,#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-bottom
    {
    position: absolute;
    left: -5px;
    width: 10px;
    height: 10px;
    background: transparent url(/images/img/sideToolbar.gif) 0
        -199px no-repeat;
    zoom: 1;
    overflow: hidden;
}

#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-bottom {
    bottom: 0;
}

#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-top,#sideCatalog #sideCatalog-sidebar .sideCatalog-sidebar-bottom
    {
    position: absolute;
    left: -5px;
    width: 10px;
    height: 10px;
    background: transparent url(/images/img/sideToolbar.gif) 0
        -199px no-repeat;
    zoom: 1;
    overflow: hidden;
}

#sideCatalog-updown {
    position: absolute;
    width: 22px;
    height: 50px;
    right: 60px;
    bottom: 160px;
    z-index: 100;
}

#sideCatalog-up {
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.sideCatalog-up-enable {
    background: transparent url(/images/img/sideToolbar.gif)
        -245px -83px no-repeat;
}

#sideCatalog-down {
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.sideCatalog-down-enable {
    background: transparent url(/images/img/sideToolbar.gif)
        -245px -108px no-repeat;
}

#sideCatalog-catalog {
    height: 325px;
    padding-left: 23px;
    overflow: hidden;
    margin-top: 18px;
    position: relative;
}

#sideCatalog-catalog dl {
    position: relative;
}

body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td
    {
    margin: 0;
    padding: 0;
}

.sideCatalog-item1,.sideCatalog-item2 {
    position: relative;
    padding: 0 7px;
    zoom: 1;
    margin: 0 0 6px 0;
}

#sideCatalog .highlight span.sideCatalog-dot {
    height: 13px;
    width: 18px;
    background: transparent url(/images/img/sideToolbar.gif)
        -271px -38px no-repeat;
    left: -23px;
    top: 3px;
}

.sideCatalog-item2 {
    padding-left: 21px;
}

#sideCatalog span.sideCatalog-index1 {
    color: #999;
    font-weight: bold;
    font-family: Arial;
    font-size: 14px;
    padding-right: 5px;
}

#sideCatalog .sideCatalog-item1 a {
    color: #555;
    font-weight: bold;
}

#sideCatalog .sideCatalog-item1 a,#sideCatalog .sideCatalog-item2 a {
    text-decoration: none;
}

.sideCatalog-dot:hover {
    background-position: 0 -245px;
}

.sideCatalog-dot {
    position: absolute;
    height: 10px;
    width: 6px;
    font-size: 12px;
    line-height: 12px;
    background: transparent url(/images/img/sideToolbar.gif) 0
        -222px;
    left: -20px;
    top: 4px;
    cursor: pointer;
    overflow: hidden;
}

#sideCatalog span.sideCatalog-index2 {
    color: #999;
    font-family: Arail;
    font-size: 14px;
    padding-right: 5px;
}

#sideCatalog .sideCatalog-item2 a {
    color: #666;
}

.sideCatalog-item2 .sideCatalog-dot {
    background: 0;
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.