zoukankan      html  css  js  c++  java
  • 楼梯效果

    <!DOCTYPE html>
    <html>

        <head>
            <meta charset="utf-8" />
            <title></title>
            <style type="text/css">
                * {
                    margin: 0;
                    padding: 0;
                }
                #LoutiNav{
                    
                    position: fixed;
                    top: 25%;
                    left: 40px;
                    30px;
                    border: 1px solid ;
                }
                #LoutiNav ul li{
                    position:relative;
                    30px;
                    height:30px;
                    list-style:none;
                    text-align:center;
                    line-height: 30px;
                    font-size: 12px;
                    cursor: pointer;
                    border-bottom: 1px dotted #AAAAAA;
                }
                #LoutiNav ul li.last {
                    background: darkred;
                    color: white;
                    border-bottom: none;
                }
                #LoutiNav ul li span{
                    display: none;
                    30px;
                    height: 30px;
                    position: absolute; 
                    top: 0;
                    left: 0;
                    color:red;
                }
                #LoutiNav ul li:hover span{
                    display: block;
                    background: darkred;
                    color: white;
                }
                #LoutiNav ul li span.active {
                    display: block;
                    background: white;
                    color: red;
                }
                #LoutiNav ul li:hover span.active{
                    display: block;
                    background: darkred;
                    color: white;
                }
                #header,#main,#footer {
                    margin: auto;
                     1000px;
                    text-align: center;
                    font-size: 40px;
                    font-weight: bold;
                    line-height: 500px;
                }
                
                #main div{
                    height: 700px;
                    font-size: 50px;
                    color: honeydew;
                    line-height: 700px;
                }
                
                #header{
                    height: 500px;
                    background: darkcyan;
                }
                #footer{
                    height: 500px;
                    background: darkcyan;
                }
        
            </style>
    <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
        </head>

        <body>
            <div id="LoutiNav">
                <ul>
                    <li>1F <span>服饰</span> </li>
                    <li>2F <span>美妆</span> </li>
                    <li>3F <span>手机</span> </li>
                    <li>4F <span>家电</span> </li>
                    <li>5F <span>数码</span> </li>
                    <li>6F <span>运动</span> </li>
                    <li>7F <span>居家</span> </li>
                    <li>8F <span>母婴</span> </li>
                    <li>9F <span>食品</span> </li>
                    <li>10F <span>图书</span> </li>
                    <li>11F <span>服务</span> </li>
                    <li class="last">Top</li>
                </ul>
            </div>
            
            <!--楼层内容开始-->
            <div id="header">头部</div>
            <div id="main">
            
                <div class="Louti" style="background: #cc0033;">服饰</div>
                <div class="Louti" style="background: #999933;">美妆</div>
                <div class="Louti" style="background: #ccff33;">手机</div>
                <div class="Louti" style="background: #006633;">家电</div>
                <div class="Louti" style="background: #6666cc;">数码</div>
                <div class="Louti" style="background: #ff6600;">运动</div>
                <div class="Louti" style="background: #ffcc00;">居家</div>
                <div class="Louti" style="background: #3333ff;">母婴</div>
                <div class="Louti" style="background: #ff00cc;">食品</div>
                <div class="Louti" style="background: #669900;">图书</div>
                <div class="Louti" style="background: #ff66cc;">服务</div>
            </div>
            <div id="footer">尾部</div>
            <!--楼层内容结束-->

        </body>
    </html>
    <script type="text/javascript">
        /*
         思路:
            1、点击左侧楼层号,对应的楼层字体红色
                         改变 对应的楼层位置 (滚动条滚走的距离)
            2、点击top按钮,回到顶部
            
            3、触发滚动条,根据滚动条滚走的距离 设置楼层号的样式
                关键判断: 当前哪一个楼层在可视区的高度超出了 h/2
        */
        
        var $list = $("#LoutiNav li:not(.last)");
        var $floor = $(".Louti");
        var flag = true;
        $list.click(function(){
            flag = false;
            $(this).find("span").addClass("active").end().siblings().find("span").removeClass();
            var index = $(this).index();
            var t= $floor.eq(index).offset().top;
            $("body,html").animate({"scrollTop" : t},1000,function(){
                flag = true;
            });
        })
        $(".last").click(function(){
            flag = false;
            $list.find("span").removeClass("active");
            $("body,html").animate({"scrollTop" : 0},1000,function(){
                flag = true;
            });
        })
        
        $(window).scroll(function(){
            if( flag ){
                var sTop = $(document).scrollTop();
                $f=$floor.filter(function( index ){
                    return Math.abs($(this).offset().top - sTop) < $(this).height()/2;
                })
                var index = $f.index();
                if( index != -1 ){
                
                    $list.eq(index).find("span")
                                         .addClass("active")
                                         .end()
                                         .siblings()
                                         .find("span")
                                         .removeClass("active");
            
                }
                if( sTop < 100 ){
                    $list.find("span").removeClass("active");
                }
            }
        })
    </script>
     

















  • 相关阅读:
    HDU 5213 分块 容斥
    HDU 2298 三分
    HDU 5144 三分
    HDU 5145 分块 莫队
    HDU 3938 并查集
    HDU 3926 并查集 图同构简单判断 STL
    POJ 2431 优先队列
    HDU 1811 拓扑排序 并查集
    HDU 2685 GCD推导
    HDU 4496 并查集 逆向思维
  • 原文地址:https://www.cnblogs.com/tis100204/p/10328955.html
Copyright © 2011-2022 走看看