繁体   English   中英

如何使用javascript动态更改访问链接的颜色?

[英]how to change visited link color dynamically using javascript?

我使用jquery创建了动态列表(带有超链接的列表)。当我第一次单击该链接时,它将转到下一页。 当我单击链接时,我使用cookie来保存链接值的索引。再次运行该应用程序,从onload中的cookie中获取已保存的索引值。使用该值更改特定链接的颜色。 现在,我想再次运行该应用程序,该链接以红色显示,其他链接(未访问)以蓝色显示。 这个怎么做?

   $(".sidemenu li ").click(function() {  
              var index = $('li').index(this); 
             // alert(index);
              checkCookie(index);
            // saveid(index);
              });

    }   

    function checkCookie(index)
    {

     var linkindexvalue=index;
     // alert(linkindexvalue);
      setCookie("indexvalue",linkindexvalue,365);


    }

    function setCookie(c_name,value,exdays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + value;
    alert(document.cookie);
    }
    $(document).ready(function(){

    var list=getCookie("indexvalue");
    if(list=='1'){
    alert(" ");

     $(".sidemenu li").css("background-color","red");

    }

  });

    function getCookie(c_name)
    {
    alert("hj");
    var value = "";
    var DocumentCookie = " " + document.cookie + ";";
    var CookieSearchStr = " " + c_name + "=";
    var CookieStartPosition = DocumentCookie.indexOf(CookieSearchStr);
    var CookieEndPosition;

    if (CookieStartPosition != -1) {
    CookieStartPosition += CookieSearchStr.length;
    CookieEndPosition = DocumentCookie.indexOf(";", CookieStartPosition);
    value = unescape(DocumentCookie.substring(CookieStartPosition, CookieEndPosition));
    }

    return value;

    }  

请指导我。

提前致谢

使用css:visited标签。 否则,如果您想通过jquery来执行此操作而没有任何插件,请在jsfiddle上查看我的实现http://jsfiddle.net/JjMAX/1/

实际上有一个jQuery Visited插件 ,可让您获取页面中的已访问链接。

包含后,您可以选择链接并为课程添加新的颜色:

$('.sidemenu li a').visited().addClass('visited');

请注意,在这种情况下,您必须在<li>内添加<a> ,因为我认为访问的功能与锚点上的链接没有严格的联系,而不是单击列表项。

相反,如果您需要使用cookie选项,请给我一些时间来检查您的代码! :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM