您现在的位置:首页 >> 前端 >> 内容

利用js+css和iframe制作目录导航界面的教程

时间:2017/11/14 15:09:31 点击:

  核心提示:一、关于 原生js获取上一个兄弟节点 以及子节点的问题1.获得上一个兄弟节点previousElementSibling 这个方法 可以获得2.获取第一个子节点子节点要先全部获取,然后排除 text元...

一、关于 原生js获取上一个兄弟节点 以及子节点的问题

1.获得上一个兄弟节点

previousElementSibling 这个方法 可以获得

2.获取第一个子节点

子节点要先全部获取,然后排除 text元素,然后在获取第一个子节点

3.原生js 修改样式

不能用setattribute 要用obj.className = "Triangle";//替换样式 obj.className += " "+ "Triangle";//追加样式

二、利用纯CSS画图标

三、代码

<!doctype html>  
<html lang="en">  
 <head>  
  <meta charset="UTF-8">  
  <title>Document</title>  
 </head>  
<script type="text/javascript">  
function f(str){  
    //当前节点  
    var sub_menu = document.getElementById(str);  
    //当前节点的上一个兄弟节点  
    var cjn =sub_menu.previousElementSibling;  
    //排除子节点中的text元素  
    /*标签与标签之间不能换行,每当你换行JS 默认会把换行当成text元素加入到数组中*/  
    var elem_child = cjn.childNodes;  
        for(var i=0 in elem_child){ //遍历子元素数组  
            if(elem_child[i].nodeName == "#text" && !/\S/.test(elem_child[i].nodeValue)) {  
                //删除数组中的text  
                cjn.removeChild(elem_child[i]);  
            }  
        }  
    //获得第一个子节点  
    var cjnfc = cjn.firstChild;  
    var dis_v = sub_menu.style.display;  
    if(dis_v == "block"){  
        sub_menu.style.display = "none";  
        cjnfc.className = "Triangle";//替换样式  
    } else{  
        sub_menu.style.display = "block";  
        cjnfc.className = "InvertedTriangle";  
    }  
}  
</script>  
 <style type="text/css">  
    #db1,#db2,#db3{  
        display: none;  
    }  
     #page{  
        width:1280px;  
  
        margin:0 auto;  
        text-align:center;  
        background-color:#F8F8F8;  
        border: solid 1px #E7E7E7;  
    }  
    #head{  
        width:1275px;  
  
    }  
    #content{  
        margin:0 auto;  
        width:1275px;  
        overflow: auto;  
    }  
    #left{  
        position:absolute;  
        height:700px;  
        overflow:auto;  
        background-color:#E7E7E7;  
        border:1px solid #E7E7F8;  
        float:left;  
        text-align:left;  
        width:250px;  
    }  
    #right{  
        padding-right:5px;  
        float:right;  
        width:1000px;  
        height: auto;  
        min-height: 700px;  
        overflow: hidden;  
    }  
    iframe{  
        width: 100%;  
        min-height: 700px;  
        height: auto;  
    }  
    ul,li{  
        list-style-type:none;  
        text-align:left;  
        margin:0px;  
        padding:6px;  
    }  
  
    li ul li{  
        padding-left:13px;  
    }  
    a:link{  
        color: #000;  
        text-decoration:none;  
    }  
    a:visited{  
        color: #000;  
        text-decoration:none;  
    }  
    a:hover{  
        color: #ff0000;  
        text-decoration:none;  
    }  
    a:active{  
        color: #ff0000;  
        text-decoration:none;  
    }  
    /* 纯CSS 画图标 */  
    .InvertedTriangle {  
        text-align:center;  
        width:0px;  
        height:0px;  
        float:left;  
        border-top:10px solid #000000;  
        border-left:5px solid transparent;  
        border-right:5px solid transparent;  
  
        position: relative;  
        top: 5px;  
        right: 8px;  
    }  
    .Triangle {  
        text-align:center;  
        padding-right:5px;  
        width: 0;  
        height:0;  
        float: left;  
        border-left: 10px solid #000000;  
        border-top: 5px solid transparent;  
        border-bottom: 5px solid transparent;  
  
        position: relative;  
        top: 5px;  
        right: 5px;  
    }  
 </style>  
 <body>  
<p id="page">  
    <p id="head" style="width:100%;hegint:50px;">  
        <h1>Mysql数据库</h1>  
    </p>      
    <p id="content">  
        <p id="left">  
            <p>数据库地址是127.0.0.1</p>  
            <ul>  
                <li>  
                    <span onclick="f('db1')">  
                    <span class="Triangle"></span><span>数据库一</span></span>  
                    <ul id="db1">  
                        <li>表一</li>  
                        <li>表二</li>  
                        <li>表三</li>  
                    </ul>  
                </li>  
                <li>  
                    <span onclick="f('db2')"><span class="Triangle"></span><span>数据库二</span></span>  
                    <ul id="db2">  
                        <li><a href="https://www.baidu.com" target="myFrameName">表一</a></li>  
                        <li>表二</li>  
                        <li>表三</li>  
                    </ul>  
                </li>  
                <li><span onclick="f('db3')"><span class="Triangle"></span><span>数据库三</span></span>  
                    <ul id="db3">  
                        <li>表一</li>  
                        <li>表二</li>  
                        <li>表三</li>  
                    </ul>  
                </li>  
            </ul>  
        </p>      
        <p id="right">  
            <iframe id="myFrameName" width="100%" height="100%" scrolling="no" name="myFrameName" frameborder="0" ></iframe>      
        </p>      
    </p>  
</p>  
 </body>  
</html>  

 

Tags:利用 用J JS SC 
作者:网络 来源:僵尸吃过跳跳跳