杂文雅事

jquery load()方法实现局部刷新

2018-10-29  本文已影响0人  雅雅的前端工作学习

通过data-id传值到window.location.hash,修改锚点来加载对应的局部内容

<!DOCTYPE html>
<html lang="en">
<head>
    <title>个人中心</title>
    <meta charset="utf-8">

    <script src="jquery-3.3.1.js"></script>
</head>
<body>
<div class="userWrap">
    <ul class="userMenu">
        <li class="current" data-id="center">用户中心</li>
        <li data-id="account">账户信息</li>
        <li data-id="trade">交易记录</li>
        <li data-id="info">消息中心</li>
    </ul>
    <div id="content">用户中心</div>
</div>
<script>
    $(function(){
        $(".userMenu").on("click", "li", function(){
            var sId = $(this).data("id"); //获取data-id的值
            window.location.hash = sId; //设置锚点
            loadInner(sId);
        });
        function loadInner(sId){
            var sId = window.location.hash;//获取当前锚点值
            var pathn, i;
            switch(sId){
                case "#center": pathn = "user_center.html"; i = 0; break;
                case "#account": pathn = "user_account.html"; i = 1; break;
                case "#trade": pathn = "user_trade.html"; i = 2; break;
                case "#info": pathn = "user_info.html"; i = 3; break;
                default: pathn = "user_center.html"; i = 0; break;
            }
            $("#content").load(pathn+' #content'); //加载相对应content的内容
            $(".userMenu li").eq(i).addClass("current").siblings().removeClass("current"); //当前列表高亮
        }
    });
</script>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读