Как изменить цвет посещенной ссылки динамически с помощью JavaScript? - PullRequest
2 голосов
/ 24 января 2012

Я создал динамический список (список с гиперссылкой), используя jquery. Когда я нажимаю эту ссылку, при первом переходе на следующую страницу.Я использовал cookie для сохранения индекса значения ссылки, пока я нажимаю на эту ссылку. Снова запустите это приложение, чтобы получить сохраненное значение индекса из cookie в onload. Используя это значение, измените цвет этой конкретной ссылки.Теперь я хочу снова запустить это приложение, эта ссылка отображается красным цветом, а другие ссылки (не посещенные) отображаются синим цветом.Как это сделать?

   $(".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;

    }  

, пожалуйста, ведите меня.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 24 января 2012

использовать css: посещенный тег.Иначе, если вы хотите сделать это с помощью jquery без какого-либо плагина, посмотрите мою реализацию на jsfiddle http://jsfiddle.net/JjMAX/1/.

0 голосов
/ 24 января 2012

На самом деле есть jQuery Visited плагин , который позволяет вам получать посещенные ссылки на вашей странице.

После включения вы можете выбрать ссылки и прикрепить класс с новым цветом:

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

Обратите внимание, что в этом случае вам нужно добавить <a> внутри ваших <li> s, так как я не думаю, что посещаемая функция строго связана с ссылками на якорь, а не с кликами по элементу списка.

Если, наоборот, вам нужно выбрать параметры куки, дайте мне немного времени, чтобы проверить ваш код! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...