jq实现侧滑导航

代码:

<!DOCTYPE html>
<html>
<head>
	<title>测试</title>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link rel="stylesheet" type="text/css" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
	<style type="text/css">
		.mask {
		    background-color: #001d40;
		    position: fixed;
		    z-index: 99;
		    top: 0;
		    left: 0;
		    right: 0;
		    bottom: 0;
		    opacity: 0;
		    display: none;
		}

		.mobilenav {
		    width: 260px;
		    position: fixed;
		    top: 0;
		    right: -260px;
		    bottom: 0;
		    background: #fafafa;
		    z-index: 110;
		    overflow-y: auto;
		}

		.phonenavbox {
		    background-color: #0073ff;
		    color: #fff;
		    padding: 50px 16px 30px 16px;
		}

		.ionc-center img {
		    width: 60px;
		    height: 60px;
		    border-radius: 50%;
		}

		.phonenav-text {
		    margin-top: 16px;
		}

		.phonenav-text p {
		    margin: 0;
		    line-height: 30px;
		    font-size: 12px;
		}

		.phonenav-text p.name {
		    font-size: 14px;
		}

		.phonenav-text .fr button {
		    background: #0073ff;
		    color: #fff;
		    border: 1px solid #fff;
		    border-radius: 24px;
		    padding: 4px 16px;
		    margin-top: 12px;
		}

		.mobilenav-list {
		    padding: 24px 0 24px 12px;
		    border-bottom: 1px solid #d6d6d6;
		}

		.mobilenav-list ul li,
		.nav-mygame ul li {
		    line-height: 40px;
		}

		.mobilenav-list ul li span,
		.nav-mygame ul li span {
		    color: #666;
		}
	</style>
</head>
<body>
	<button class="mobilenavbtn">点击这里</button>
	<div>
    <div class="mask"></div>
    <div class="mobilenav">
        <div class="phonenavbox">
            <div class="oh">
                <div class="ionc-center fl">
                    <img src="__PUBLIC__/img/center_icon1.png" alt="">
                </div>
                <div class="toindex-nav fr">
                    <img src="__PUBLIC__/img/torightnsv.png" alt="">
                </div>
            </div>
            <div class="oh phonenav-text">
                <div class="fl">
                    <p class="name">侧滑导航</p>
                    <p>lively001@qq.com</p>
                </div>
                <div class="fr">
                    <button>退出</button>
                </div>
            </div>
        </div>
        <div class="mobilenav-list">
            <ul>
                <li>
                    <span class="icon iconfont icon-qian f18"></span>
                    <span class="pl16">资产</span>
                </li>
                <li>
                	<a href="#">
                		<span class="icon iconfont icon-jilu f18"></span>
                    	<span class="pl16">游戏充值记录</span>
                	</a>
                </li>
                <li>
                	<a href="#">
	                    <span class="icon iconfont icon-shezhi f18"></span>
	                    <span class="pl16">修改密码</span>
                    </a>
                </li>
            </ul>
        </div>
        <div>
            <div class="nav-mygame">
                <ul>
                    <li>
                        <span class="icon iconfont icon-youxi f18"></span>
                        <span class="pl16">我的游戏</span>
                    </li>
                </ul>
            </div>
            <div class="navgame-list">
                <ul>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                    <li>
                        <img src="__PUBLIC__/img/index_05.jpg" alt="">
                        <p>游戏名称</p>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>
</body>
<script src="https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
	$('.mobilenavbtn').click(function() {
            navtaggleShow("hidden", "block", 0.8, '0');
        });

        $(".mask,.toindex-nav").click(function() {
            navtaggleShow("auto", "none", 0, '-260px');
        });

        $("body").on("touchstart", function(e) {    
            e.preventDefault();    
            startX = e.originalEvent.changedTouches[0].pageX, startY = e.originalEvent.changedTouches[0].pageY;  
        });  

        $("body").on("touchmove", function(e) {    
            e.preventDefault();    
            moveEndX = e.originalEvent.changedTouches[0].pageX, moveEndY = e.originalEvent.changedTouches[0].pageY, X = moveEndX - startX, Y = moveEndY - startY;      
            if (Math.abs(X) > Math.abs(Y) && X > 100) {    
                navtaggleShow("auto", "none", 0, '-260px');  
            }    
            else if (Math.abs(X) > Math.abs(Y) && X < -100) {  
                navtaggleShow("hidden", "block", 0.8, '0'); 
            }
        });

        function navtaggleShow(varover, vardisplay, varopacity, rightnum) {
            $(".mobilenav,.mask").stop(true);
            $('body').css("overflow-y", varover);
            $(".mask").css("display", vardisplay).animate({
                opacity: varopacity
            }, 500);
            $(".mobilenav").animate({
                right: rightnum
            }, 500);
        };
</script>
</html>

效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易66丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值