zoukankan      html  css  js  c++  java
  • 回忆之横竖滑动门

    直接看效果点这里

    HTML

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title> 横竖滑动门 </title>
        <link rel="stylesheet" href="sliding-door.css"/>
    </head>
    <body>
    <div class="m-sliding-x" id="J_SlidingX">
        <div class="list list-1">
            <a href="javascript:;" class="hd">1</a>
            <div class="bd">内容1</div>
        </div>
        <div class="list list-2">
            <a href="javascript:;" class="hd">2</a>
            <div class="bd">内容2</div>
        </div>
        <div class="list list-3">
            <a href="javascript:;" class="hd">3</a>
            <div class="bd">内容3</div>
        </div>
        <div class="list list-4">
            <a href="javascript:;" class="hd">4</a>
            <div class="bd">内容4</div>
        </div>
    </div>
    
    <div class="m-sliding-y" id="J_SlidingY">
        <div class="list list-1">
            <a href="javascript:;" class="hd">1</a>
            <div class="bd">内容1</div>
        </div>
        <div class="list list-2">
            <a href="javascript:;" class="hd">2</a>
            <div class="bd">内容2</div>
        </div>
        <div class="list list-3">
            <a href="javascript:;" class="hd">3</a>
            <div class="bd">内容3</div>
        </div>
        <div class="list list-4">
            <a href="javascript:;" class="hd">4</a>
            <div class="bd">内容4</div>
        </div>
    </div>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <script src="sliding-door.js"></script>
    <script>
        // 横向滑动门
        slidingDoor({
            btnList : $('#J_SlidingX .list .hd'),
            mainList : $('#J_SlidingX .list'),
            btnOffset : 40,
            mainOffset : 160,
            event : 'click',
            direction : 'x'
        });
    
        // 竖向滑动门
        slidingDoor({
            btnList : $('#J_SlidingY .list .hd'),
            mainList : $('#J_SlidingY .list'),
            btnOffset : 40,
            mainOffset : 160,
            event : 'click',
            direction : 'y'
        });
    </script>
    </body>
    </html>
    View Code

    CSS

    /*m-sliding-x*/
    .m-sliding-x{ width: 320px; height:100px; overflow:hidden; position:relative; margin: 10px auto; }
    .m-sliding-x .list {position:absolute;top:0;width:200px;height:100%; text-align: center; line-height: 100px; background-color: #999;}
    .m-sliding-x .list .hd{position:relative;float:left; height:100%; width:40px; text-align: center; line-height: 100px; color: #fff; text-decoration: none; background-color: #141414; }
    .m-sliding-x .list .hd:hover{ background-color:#2A2829;}
    .m-sliding-x .list-1{left:0;}
    .m-sliding-x .list-2{left:200px;}
    .m-sliding-x .list-3 {left:240px;}
    .m-sliding-x .list-4{left:280px;}
    .m-sliding-x .list .bd{ position:absolute; left:40px; top:0; width: 160px; height:100%; }
    
    /*m-sliding-y*/
    .m-sliding-y{ width: 100px; height:320px; overflow:hidden; position:relative; margin: 10px auto; }
    .m-sliding-y .list {position:absolute;left:0;width:100%;height:200px; text-align: center; line-height: 200px; background-color: #999;}
    .m-sliding-y .list .hd{position:relative;float:left; height:40px; width:100%; text-align: center; line-height: 40px; color: #fff; text-decoration: none; background-color: #141414; }
    .m-sliding-y .list .hd:hover{ background-color:#2A2829;}
    .m-sliding-y .list-1{top:0;}
    .m-sliding-y .list-2{top:200px;}
    .m-sliding-y .list-3 {top:240px;}
    .m-sliding-y .list-4{top:280px;}
    .m-sliding-y .list .bd{ position:absolute; top:40px; left:0; width: 100%; height:160px; }
    View Code

    JS

    //横竖滑动门
    function slidingDoor(opt){
        var oBtnList = opt.btnList,
            oBtn = opt.btnOffset,
            oMainList = opt.mainList,
            oMain = opt.mainOffset,
            ev = opt.event || 'click',
            oDirection = opt.direction || 'x',
            len = oBtnList.length;
        oBtnList.each(function(i, v){
            $(this).on(ev, function(){
                for(var n = 1; n <= i; n++){//第一个不需要动
                    if(oDirection === 'x'){
                        oMainList.eq(n).animate({
                            left:oBtn*n+'px'
                        });
                    }else{
                        oMainList.eq(n).animate({
                            top:oBtn*n+'px'
                        });
                    }
                }
                for(var j = n; j < len; j++){
                    if(oDirection === 'x'){
                        oMainList.eq(j).animate({
                            left:oBtn*j+oMain+'px'
                        });
                    }else{
                        oMainList.eq(j).animate({
                            top:oBtn*j+oMain+'px'
                        });
                    }
                }
                return false;
            });
        });
    }
  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/jununx/p/4473373.html
Copyright © 2011-2022 走看看