Не работает сохранение положения блоков

Тема в разделе "JavaScript", создана пользователем Sergo_Sev, 3 мар 2013.

Модераторы: ZiX
  1. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
    В общем есть сайт (не мой) http://itc.ua/
    В верхней части над новостями есть три кнопочки для выбора как выводить новости - подряд, блоками, или строками.

    Так вот, там есть фал http://itc.ua/wp-content/themes/ITC/js/itc.js в котором находится код чтения и записи cookie. В cookie браузера вписывается currentMode с нужным параметром.

    Но проблема в том, что сохраняется положение крайне по дибильному - для главной страницы вообще напрочь отказывается сохраняться, для остальных через раз, причем когда листаешь сайт все страницы по разному выводятся (после того как менял их вид) и обратно опять же меняться не желают


    Как этот код исправить, что бы сохранение положения блоков было для всех страниц и одинаковым, а не для каждойотдельно и тупило?
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    в файле itc.js есть только запись в куки
    Код:
    $.cookie('displayMode', newMode, { expires:365, path:'/'});
    чтения нет. Будет работать если добавить чтение куки и клик на кнопку активировать, например так
    Код:
    var $ = jQuery.noConflict();
    $(function () {
        $('#display-mode li a').live('click', function () {
            ...
        });
    });
    
    //дальше вставить
    $(document).ready(function() {
        var newMode = $.cookie('displayMode');
        if(newMode){
            $('#display-mode li#' + newMode + '-mode a').click();
        }
    });
    но постоянно после загрузки страницы будет меняться и мигать расположение с блоков на другой, чтоб этого не было лучше в php читать куки и уже выводить в нужном расположении.
     
    Sergo_Sev нравится это.
  3. Kotex

    Kotex Создатель

    Регистр.:
    23 апр 2012
    Сообщения:
    10
    Симпатии:
    3
    Да, но еще лучше написать отдельный скрипт js, который будет "без анимации", просто переназначение принципа вывода.
    Еще хотел бы сделать замечание:
    $.cookie('displayMode', newMode, { expires:365, path:'/'});
    сохраняет куку для текущей страницы или ниже, потому лучше использовать path:'domain.ru', для определения куки сразу для всего сайта.
     
    Sergo_Sev нравится это.