搜索

首页  >  问答  >  正文

javascript - 在点击nav后,用JS加上颜色,怎么在页面跳转后仍能保持改变后的颜色?

导航每个页面都是通过后台标签链接的同一个段HTML,我在点击导航后,通过js加上改变颜色,但是点击跳转到能一个页面,js改后的颜色就失效了,请问这种问题怎么解决?

ringa_leeringa_lee2753 天前1630

全部回复(12)我来回复

  • PHP中文网

    PHP中文网2017-05-16 13:23:25

    我自己来回答吧,不用你们写的那么复杂,每个页面加入一段CSS

    //首页
    ul li a:nth-child(1){
                color: #FF0000;
            }
    //品牌介绍
    ul li a:nth-child(2){
                color: #FF0000;
            }
    //招牌美食
    ul li a:nth-child(3){
        .........
    }

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:23:25

    保存个屁噢,我从导航栏进了a页面,关掉,再从地址栏进入b页面,这时候你还给我高亮a页面么?
    写个所有页面公用的解析函数,直接用nav的地址去和href匹配

    回复
    0
  • PHPz

    PHPz2017-05-16 13:23:25

    说一下思路,在每个页面加上js判断

    假设跳转之后页面的地址是http://********/zhaoshang.html
    
    if(/zhaoshang/.test(window.location.pathname)){
    
    招商加盟.style.color="红色"
    
    }else if(){
    ...
    }

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:23:25

    几个办法:

    1. 导航栏自己一个iframe;

    2. 用sessionStorage / localStorage 保存状态;

    3. 跳转页面带URL参数&active =xxx;

    4. 用spa 不真的跳转页面;
      看答主的题目,估计2、3比较合适

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:23:25

    没必要用到JS 直接用css 类名就好了 每一个nav 加上一个类名,放到这个nav的css文件中

    <nav>
        <a class="index-active">首页</a>
        <a class="details-active">详情页</a>
     </nav>
     
     在 index.css 中 写 
         .idnex-active {...}
     在 detail.css 中 写 
         .detail-active {...} 

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:23:25

    保存在本地啊

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:23:25

    后台可以做判断,当前页面是哪个然后加类,这个比较方便。

    回复
    0
  • 黄舟

    黄舟2017-05-16 13:23:25

    保存本地,再次进入页面时,读取缓存,进行判断

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:23:25

    把状态保存到cookie吧。

    保存到session也行,不过这需要后端开发配合。

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:23:25

    给li的class加一个active,设置active的字体颜色,动态给各个li添加class!

    回复
    0
  • 取消回复