web链接与tab切换对应的效果

本文介绍了一种使用JavaScript实现前端导航栏动态切换功能,并通过URL历史记录管理来跟踪用户导航路径的方法。具体包括解析URL参数,根据参数动态加载不同页面内容,并在用户点击导航项时更新URL和页面内容。

这三个地方会相对应的一至,之前实现的时候要依赖后台点击导航的时候传递个参数,但是现在可以用前端独立完成

$(function(){
    var tabBox=$('#tab');
    var leftChild=tabBox.find('.tab_left .slider-child');
    var rightCont=tabBox.find('.tab_right .tab_right_cont');
    leftChild.removeClass('active');
    rightCont.hide();

    var loc = location.href;
    var n1 = loc.length;//地址的总长度
    var n2 = loc.indexOf("=");//取得=号的位置
    var nameValue = loc.substr(n2+1, n1-n2);//从=号后面的内容

    var deng = loc.indexOf("?");//取得?号的位置
    var name = loc.substr(deng+1, 4);//从=号后面的内容
    var url = loc.substr(0, n2);

    //profile==0
    if(nameValue=='profile'){
        nameValue=0;
        leftChild.eq(nameValue).addClass('active');
        rightCont.eq(nameValue).show();
    }
    if(nameValue=='culture'){
        nameValue=1;
        leftChild.eq(nameValue).addClass('active');
        rightCont.eq(nameValue).show();
    }
    if(nameValue=='concept'){
        nameValue=2;
        leftChild.eq(nameValue).addClass('active');
        rightCont.eq(nameValue).show();
    }
    if(nameValue=='partner'){
        nameValue=3;
        leftChild.eq(nameValue).addClass('active');
        rightCont.eq(nameValue).show();
    }

    leftChild.on('click',function(){
        var thisIndex=$(this).index();
        leftChild.removeClass('active');
        $(this).addClass('active');
        rightCont.hide();
        rightCont.eq(thisIndex).show();
        if(thisIndex==0){
            history.replaceState('profile', 'title', url+'=profile')
        }
        if(thisIndex==1){
            history.replaceState('culture', 'title', url+'=culture')
        }
        if(thisIndex==2){
            history.replaceState('concept', 'title', url+'=concept')
        }
        if(thisIndex==3){
            history.replaceState('partner', 'title', url+'=partner')
        }
    });

});


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值