Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Запоминание стиля кнопок bootstrap 3 в cookie (https://javascript.ru/forum/jquery/55740-zapominanie-stilya-knopok-bootstrap-3-v-cookie.html)

_ZET_ 12.05.2015 15:19

Запоминание стиля кнопок bootstrap 3 в cookie
 
Всем привет!
Уже голову сломал себя, что только не пробовал, никак не могу прикрутить скрипт для запоминания состояния кнопок.Через сторож тоже пробовал.
http://308712.motoya.web.hosting-test.net/

Кнопки слева "В наличии и под заказ" где каталог товаров.


Вот так они меняются:
<script type="text/javascript">
        $(".all").click(function(){
            $(this).removeClass("btn-xs");
	   $(this).addClass("btn-md");
            $(this).css("font-size","10pt");
            $(".ok").removeClass("btn-md");
            $(".ok").addClass("btn-xs");
            $(".ok").css("font-size","8pt");
        })
        $(".ok").click(function(){
            $(this).removeClass("btn-xs");
            $(this).addClass("btn-md");
            $(this).css("font-size","10pt");
          	$(".all").removeClass("btn-md");
            $(".all").addClass("btn-xs");
            $(".all").css("font-size","8pt");
        })
</script>


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

Может у кого есть идеи?

ksa 13.05.2015 08:25

Цитата:

Сообщение от _ZET_
Может у кого есть идеи?

Идеи тут стандартные...
При изменении состояния, записывать нужную информацию о том состоянии...
А при загрузке документа прочитать информацию о состоянии и восстановить оное...

_ZET_ 13.05.2015 09:59

Я так и делал, оказалось у меня в кукие тупо не записывалось, друг с другом скрипты мозги парят, буду пробовать заново....

_ZET_ 13.05.2015 12:43

Блин я уже упростил как мог все равно не получается.Хочу хоть цвет блока чтоб запоминалось.Смотрю через алерт все записывает,в веб инспекторе тоже. Видимо я не могу достать из куки информацию, не так читаю ее что ли.
.all{
        height: 50px;
        width: 70;
        background: #b17902;
     }


<div class="all"></div>

<script type="text/javascript">

    $(".all").click(function(){
        $(".all").css("background" , "#009900");
        var color = $(".all").css('background');
        $.cookie(".all", color);
        alert('Записано :'+color);
        if($.cookie(".all")) {
            var al = $.cookie(".all");
            $(".all").css({
                'background': al
            })
        }
    })
</script>

krasovsky 13.05.2015 12:47

Цитата:

Сообщение от _ZET_
сторож тоже пробовал.

Че спецом деда нанимал, чтоб он состояния кнопок сторожил? =D

<div class="all">all</div>


fucntion set(value) {
 $.cookie('myCoolie',value);
}

function get(name) {
return $.cookie('name');
}

$(".all").click(function(){
  set('myColor','grey');
  $(this).css({
    background:get('myColor');
  })

})

_ZET_ 13.05.2015 13:21

Цитата:

Сообщение от krasovsky (Сообщение 370528)
Че спецом деда нанимал, чтоб он состояния кнопок сторожил? =D

<div class="all">all</div>


fucntion set(value) {
 $.cookie('myCoolie',value);
}

function get(name) {
return $.cookie('name');
}

$(".all").click(function(){
  set('myColor','grey');
  $(this).css({
    background:get('myColor');
  })

})

Вообще кнопка не меняется,ошибки в скрипте исправил, но все равно спасибо).Наверное надо допелить немного скрипт.

ksa 13.05.2015 13:48

Цитата:

Сообщение от _ZET_
не так читаю ее что ли

Так выведи на экран то, что ты читаешь...

_ZET_ 13.05.2015 14:28

Цитата:

Сообщение от ksa (Сообщение 370541)
Так выведи на экран то, что ты читаешь...

Не чего не выводит, буду разбираться дальше.

ksa 13.05.2015 14:31

Цитата:

Сообщение от _ZET_
Не чего не выводит

Вот и ответ...

_ZET_ 13.05.2015 17:42

Вот еще не пойму если я записываю один CSS стиль то все работает.
<script type="text/javascript">

$(".all").click(function(){
    $(this).css("background" , "#009900");
    var color = $(".all").css('background');
    $.cookie(".all",color);
    alert('Записано :'+color);

});

if($.cookie(".all")) {
    var al = $.cookie(".all");
    $('.all').css({
              'background': al
})
</script


А если начинаю записывать хотя бы еще один , то скрипт перестает возвращать данные из куки

$(".all").click(function(){
    $(this).css("background" , "#009900");
    $(this).css("height" , "60px");
    var color = $(".all").css('background');
    var height = $(".all").css('height');
    var arrCoHe = color+ "," +height; 
    $.cookie(".all", arrCoHe);
    alert('Записано :'+arrCoHe);
});

if($.cookie(".all")) {
    var al = $.cookie(".all");
    var arrCoHe = al.split(",");
    $('.all').css({
              'background': arrCoHe[0],
              'height': arrCoHe[1]
    })
}


Часовой пояс GMT +3, время: 03:04.