zoukankan      html  css  js  c++  java
  • HTML 已浏览的导航样式改变

    效果:点击后  显示已浏览样式

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            #list   li{
                list-style-type:none;
                width: 80px;
                height: 30px;
                line-height: 30px;
                background-color: beige;
                text-align:center;
                float:left;
                margin-left:5px;
            }
            #list li.current{
                background-color:burlywood;
            }
            #list  li a{
                text-decoration:none;
            }
    
        </style>
        <script src="01.js"></script>
        <script>
            window.onload=function(){
                var ul=getele("list");
                var aarr=ul.getElementsByTagName("a");
                for( var i=0;i<aarr.length;i++){
                    aarr[i].onclick=function(){
                        this.parentNode.className="current";
                        var otherarr=getallsiblings(this.parentNode);
                        for(var j=0;j<otherarr.length;j++){
                            otherarr[j].className="";
                        }
                    }
                }
            }
        </script>
    </head>
    <body>
    <div id="menu">
        <ul id="list">
            <li class="current"><a href="#">首页</a></li>
            <li><a href="javascript:void(0)">播客</a></li>
            <li><a href="javascript:void(0)">博客</a></li>
            <li><a href="javascript:void(0)">相册</a></li>
            <li><a href="javascript:void(0)">关于</a></li>
            <li><a href="javascript:void(0)">帮助</a></li>
        </ul>
    </div>
    </body>
    </html>

    外链式js

    function getele(id){
        return document.getElementById(id);
    }
    
    
    function getfirstnode(ele){
        var node=ele.firstElementChild  || ele.firstChild;
        return node;
    }
    
    function getnextnode(ele){
        return ele.nextElementSibling || ele.nextSibling;
    
    }
    
    function geteleofindex(ele,index){
        return ele.parentNode.children[index];
    }
    
    function getallsiblings(ele){      // 获取剩余未选中的兄弟节点
        var newarr=[];
        var arr= ele.parentNode.children;
        for(var i=0;i<arr.length;i++) {
            if (arr[i] !== ele) {
                newarr.push(arr[i]);
            }
        }
            return newarr
    
    }
  • 相关阅读:
    MySQL数据库优化的八种方式(经典必看)
    HTTP状态码详解
    一周学会HTML----Day03常用标签(下)
    一周学会HTML----Day02常用标签(上)
    SEO优化---10分钟学会建立高转化率的网站关键词库
    C# 命名的基本约定【转】
    arraylist是接口list的实现类
    API
    new与malloc区别(转)
    获取系统时间
  • 原文地址:https://www.cnblogs.com/yimian/p/6999947.html
Copyright © 2011-2022 走看看