jQuery - 侧栏导航点击滑入滑出效果 -

点击按钮滑动显示侧边导航栏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- CSS部分 -->
    <style media="screen">
    li {
        list-style: none;
    }
    .side_open {
        position: fixed;
        top: 20%;
        right: 0;
        width: 218px;
        height: 574px;
        background-color: pink;
    }
    .side_btn {
        position: absolute;
        top: 20px;
        left: -30px;
        width: 30px;
        height: 140px;
        background-color: green;
    }
    .side_btn li {
        width: 30px;
        height: 140px;
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
        display: none;
    }
    .side_btn li:first-child {
        display: block;
    }
    </style>
</head>
<body>
    <!-- HTML部分 -->
    <div class="side_open" id="side_open">
        <a href="javascript:void(0);" class="side_btn" id="side_btn">
            <ul>
                <li>展开</li>
                <li>收起</li>
            </ul>
        </a>
    </div>
     <!-- JS部分 -->
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function(){
    var isHiden = true; /*控制切换菜单*/
    $('#side_btn').click(function(){
        if(isHiden){
            $('#side_open').animate({right:'-=217px'});//菜单块向右移动
        }else{
            $('#side_open').animate({right:'+=217px'}); //菜单块向左移动
        }
        isHiden = !isHiden;
    });
// isHiden只是返回部件的隐藏属性,并不能表示部件当前的真实状态。比如A部件有个子部件B,而A处于隐藏状态,子部件B必然也不可见,但子部件B本身的isHiden还是为false。
    // 信号量
    var index = 0;
    // 更改按钮文字の点击事件
    $('#side_btn').click(function(){
        //防流氓点击
        if($('#side_btn ul li').is(":animated")){
            return;
        }
        // 老文字淡出
        $('#side_btn ul li').eq(index).fadeOut(0,function(){
            // 信号量
            index --;
            if(index < 0){
                index = 1;
            }
            // 新文字淡入
            $('#side_btn ul li').eq(index).fadeIn(0);
        });
    });
});
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值