Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как присвоить класс ссылке по клику, с записью в cookie?

Как присвоить класс ссылке по клику, с записью в cookie?


     26.08.2015    Общие вопросы, jQuery    2478

вопрос
В каждой краткой новости есть кнопка такого вида, с разным {news-id}.
<a href="#" class="play" id="Player{news-id}">кнопка</a>


js

    var cookieName = 'level';
    var cookieOptions = {expires: 7, path: '/'};
    
    $("#" + $.cookie(cookieName)).addClass("views");

    $(".play").click(function(e){
        e.preventDefault();

        $.cookie(cookieName, $(this).attr("id"), cookieOptions);
        $("#" + $.cookie(cookieName)).addClass("views");
    });


Скрипт по нажатию на ссылку добавляет к ней класс views, это всё работает. Но при перезагрузке страницы отображается ссылка с классом views, только последняя нажатая, а не все которые нажимал.

Идея в том, чтобы пользователю было видно, какие он ссылки нажимал (какие он треки прослушал)

Если есть какое-нибудь другое решение, напишите или помогите доделать этот вариант.

Ответа пока нет


7 комментариев

vitnet
PHP-developer

vitnet - 27 августа 2015 10:55 -

Пробуйте demo

dominika
Юзер

dominika - 27 августа 2015 15:06 -

Не добавляется класс к ссылке.
Я использовал #dle-content вместо #play_list , и {content} в #play_list оборачивал ни какой разницы.
Но если в скрипте #play_list заменить на level, то класс добавляется но не запоминает.

dominika
Юзер

dominika - 27 августа 2015 15:23 -

А если вообще убрать эту строку, то класс добавляется к каждой ссылке как надо, но после перезагрузки страницы не запоминается.
views.check('#play_list');

vitnet
PHP-developer

vitnet - 27 августа 2015 17:37 -

Я писал с мобилы, буду дома проверю / поправлю.

------------------
Обновил

dominika
Юзер

dominika - 27 августа 2015 22:38 -

Работает если просто в body ставишь
<div id="play_list">
    <a href="#" class="play" id="Player-1">кнопка</a><br />
    <a href="#" class="play" id="Player-2">кнопка</a><br />
    <a href="#" class="play" id="Player-3">кнопка</a><br />
    <a href="#" class="play" id="Player-4">кнопка</a><br /><br />
</div>
<a href="#" class="clear">clear storage</a>


А если в shortstory.tpl ссылка
<a href="#" class="play" id="Player-{news-id}">кнопка</a>

а {content} оборачиваешь так
<div id="play_list">{content}</div>

то ни класс не прописывается ни в куках не запоминается.
Может потому-что в shortstory.tpl много всего лишнего?

dominika
Юзер

dominika - 27 августа 2015 22:43 -

Можно как нибудь без использования
<div id="play_list">

А привязка была просто к ссылке с классом play

dominika
Юзер

dominika - 27 августа 2015 22:59 -

Работает ещё вот так в shortstory.tpl
<div class="play_list">
    <a href="#" class="play" id="Player-{news-id}">кнопка</a>
</div>

и в js #play_list на .play_list изменить 2-а раза
Хорошо хоть так работает, но по-моему это не совсем правильно.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх