Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当页面重新加载而不是Cookie时,如何存储我的li类(“active”)?_Javascript_Jquery_Asp.net Mvc_Jquery Ui_C# 4.0 - Fatal编程技术网

Javascript 当页面重新加载而不是Cookie时,如何存储我的li类(“active”)?

Javascript 当页面重新加载而不是Cookie时,如何存储我的li类(“active”)?,javascript,jquery,asp.net-mvc,jquery-ui,c#-4.0,Javascript,Jquery,Asp.net Mvc,Jquery Ui,C# 4.0,在“我的菜单”选项卡中,li元素将在单击该元素时处于“活动”状态 在刷新页面时..我将值存储在cookie$.cookie(“li”,this.id);-这很好 但是,当我从本地主机或任何环境加载网站时,这个cookie值的存储会引发错误的菜单 这意味着在加载网站时,cookie会发送旧值,并使其他菜单处于活动模式,而我处于不同的菜单中 如何以不同的方式处理这件事 //li Elements <li id="Projectsnavtab">

在“我的菜单”选项卡中,li元素将在单击该元素时处于“活动”状态

在刷新页面时..我将值存储在cookie$.cookie(“li”,this.id);-这很好

但是,当我从本地主机或任何环境加载网站时,这个cookie值的存储会引发错误的菜单

这意味着在加载网站时,cookie会发送旧值,并使其他菜单处于活动模式,而我处于不同的菜单中

如何以不同的方式处理这件事

        //li Elements

       <li id="Projectsnavtab">
       <li id="Homenavtab">
       <li id="AboutUsnavtab">
       <li id="ContactUsnavtab">


       // Jquery Onclick function 
       var navTopList = $(".siteNav > ul > li").
       $(navTopList).on('click', function () {
       $(navTopList).removeClass('active');
       $(this).addClass('active');           
       $.cookie("li", this.id); - Assigning to Cookie
});

      // Getting the value from cookie when page loaded
         var li = $.cookie("li");
         if (li) $("#" + li).addClass("active");
//li元素
  • //Jquery Onclick函数 var navTopList=$(“.siteNav>ul>li”)。 $(navTopList)。在('click',函数(){ $(navTopList).removeClass('active'); $(this.addClass('active'); $.cookie(“li”,this.id);-分配给cookie }); //加载页面时从cookie获取值 var li=$.cookie(“li”); if(li)$(“#”+li).addClass(“活动”);
  • 您可以使用Html5的本地存储

    localstorage.setItem('id', 'linkid');
    
    你可以把它读作

    var linkId = localstorage.getItem('linkid');
    

    也许您可以使用url哈希(#xxx)
    单击li时,给它一个不同的哈希值,#1,#2,#3…,然后可以通过js获取哈希值,然后使li处于活动状态。
    刷新页面时,不会丢失哈希值,因此您可以得到相同的哈希值。
    当您从其他页面重定向此页面时,它将不会使用哈希,因此您可以将默认li设置为活动


    顺便说一句,我认为localStorage无法解决这个问题。它只是改变你在哪里可以找到数据,而不是改变逻辑。

    navTopList
    它是什么?试试localStorage:working fine@Jai编辑了这个问题,它的navTopList=$(“.siteNav>ul>li”),在这个页面上写和读cookie“li”,在其他页面上删除cookie“li”,也可以使用onunload事件删除cookie,但浏览器之间会有所不同