• js 延迟菜单


    1.效果图

    2.

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="miaov_style.css">
        <script>
            window.onload = function(){
                var aA = getByClassName(document, 'normal');
                var aSpan = getByClassName(document, 'float_layer');
                var timer = null;
    
                for(var i = 0; i < aA.length; i++){
                    aA[i].index = i; //给按钮加索引,这样与其他元素形成一个对应
                    aA[i].onmouseover = function(){
                        for(var i = 0; i < aSpan.length ; i++){ //目的是其他3个隐藏
                            aSpan[i].style.display = 'none';
                        }
                        aSpan[this.index].style.display = 'block';//当前的显示
                        clearInterval(timer);//从span移回到标题也不隐藏span
                    };
                    aA[i].onmouseout = function(){ //标题鼠标移开,对应的下面的内容消失,但不能立即消失,否则鼠标永远也倒不了下面的内容上了
                        var This = this;//此刻this 是指 aA[i]
                        timer = window.setTimeout(function(){
                            aSpan[This.index].style.display = 'none';
                            //aSpan[this.index].style.display = 'none';//不能写this,此刻this指向的是window
                        },1000);
                    }
    
                    aSpan[i].onmouseover = function(){
                        clearInterval(timer);//让定时器失效,span不隐藏
                    }
                    aSpan[i].onmouseout = function(){
                        var This = this;
                        timer = setTimeout(function(){
                            This.style.display = 'none'; //This == aSpan[i]
                        },500);
                    }
    
                }
    
                function getByClassName(parent, className){
                    var aTag = parent.getElementsByTagName("*");
                    var result = [];
                    var reg = new RegExp('\b'+ className + '\b','i');
                    for(var i = 0; i < aTag.length; i++){
                        if(reg.test(aTag[i].className)){
                            result.push(aTag[i]);
                        }
                    }
                    return result;
                }
            }
    
        </script>
    </head>
    <body>
    <div id="nav">
        <div class="adorn1"></div>
        <div class="adorn2"></div>
        <ul>
            <li>
                <a class="normal" href="http://www.miaov.com"><span>首页</span></a>
                <span class="float_layer w1 pos1">
                    <span class="arrows"></span>
                    <span class="decorate1"></span>
                    <span class="decorate2"></span>
                    <a href="http://www.miaov.com"><span>最近更新</span></a>
                    <a href="http://www.miaov.com"><span>活动</span></a>
                    <a href="http://www.miaov.com"><span>报名试听</span></a>
                    <a href="http://www.miaov.com"><span>学员反馈</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="http://www.miaov.com"><span>关于我们</span></a>
                <span class="float_layer w2 pos2">
                    <span class="arrows"></span>
                    <span class="decorate1"></span>
                    <span class="decorate2"></span>
                    <a href="http://www.miaov.com"><span>妙味讲师</span></a>
                    <a href="http://www.miaov.com"><span>培训方式</span></a>
                    <a href="http://www.miaov.com"><span>培训理念</span></a>
                    <a href="http://www.miaov.com"><span>联系我们</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="http://www.miaov.com"><span>作品</span></a>
                <span class="float_layer w3 pos3">
                    <span class="arrows"></span>
                    <span class="decorate1"></span>
                    <span class="decorate2"></span>
                    <a href="http://www.miaov.com"><span>般固</span></a>
                    <a href="http://www.miaov.com"><span>MATRIX</span></a>
                    <a href="http://www.miaov.com"><span>留学e网</span></a>
                    <a href="http://www.miaov.com"><span>ECMall</span></a>
                </span>
            </li>
            <li class="line">
                <a class="normal" href="http://www.miaov.com"><span>博客</span></a>
                <span class="float_layer w4 pos4">
                    <span class="arrows"></span>
                    <span class="decorate1"></span>
                    <span class="decorate2"></span>
                    <a href="http://www.miaov.com"><span>JS教程</span></a>
                    <a href="http://www.miaov.com"><span>弹出层效果</span></a>
                    <a href="http://www.miaov.com"><span>3D球面标签云</span></a>
                    <a href="http://www.miaov.com"><span>Window计算器</span></a>
                </span>
            </li>
        </ul>
        <p><a href="http://www.miaov.com">>>更多</a></p>
    </div>
    </body>
    </html>
    

      

  • 相关阅读:
    客户区大小 clientWidth & clientHeight
    输出页面中所有的标签
    偏移量 offsetLeft & offsetTop
    输出页面中指定的标签 2
    Ubuntu 12.10击败Windows 8的十个理由
    InnoDB与MyISAM的六大区别
    总承包建设企业多项目管理成熟度
    软考信息系统项目管理师考试计算公式
    (1042)MySQL报错1042Can’t get hostname for your address解决
    20个数据库设计最佳实践
  • 原文地址:https://www.cnblogs.com/bravolove/p/5947543.html
Copyright © 2020-2023  润新知