Blame view
resources/views/js/cookies_favorite.blade.php
2.71 KB
3646d2a47 Механизм избранны... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<script> $(document).ready(function() { $(document).on('click', '.js_card_favorites', function () { var _this = $(this); var id_house = _this.attr('data-val'); if (_this.hasClass('active')) { add_in_array(id_house); console.log('Добавлено в избранное id=' + id_house); } else { delete_in_array(id_house); console.log('Удалено из избранных id='+id_house) } var str = $.cookie('favorite_house'); console.log("Вывод куков "+str); }); }); //помеченный элемент function selected_item(obj) { var arr = read_array(); var index = arr.indexOf(obj); if (index > 0) return "active"; else return ""; } // запись элемента массива в cookie function add_in_array(obj){ var arr = read_array();//получаем текущее состояние массива arr[arr.length]=obj; //добавляем элемент в конец //var str = JSON.stringify(arr);//конвертируем в строку //$.cookie('arr',str);//записываем массив в куки $.cookie('favorite_house', JSON.stringify(arr)); } // удаление элемента из массива в cookie function delete_in_array(obj) { var arr = read_array(); |
59d4ce857 Рефакторинг кода,... |
44 45 46 47 |
var unique = [...new Set(arr)] var index = unique.indexOf(obj); unique.splice(index, 1); |
3646d2a47 Механизм избранны... |
48 49 |
//var str = JSON.stringify(arr);//конвертируем в строку //$.cookie('arr',str);//записываем массив в куки |
59d4ce857 Рефакторинг кода,... |
50 |
$.cookie('favorite_house', JSON.stringify(unique)); |
3646d2a47 Механизм избранны... |
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
} function read_array(){ var dataArr=$.cookie('favorite_house');//считываем данные из куков //если массив не был обнаружен, иницилизируем его if(dataArr===null){ dataArr = init_array(); //возвращаем инициализированный пустой маасив } //возвращаем полученный массив //return JSON.parse(dataArr); return JSON.parse(dataArr); } //другими словами создаем пустой массив function init_array(){ //var str = JSON.stringify(new Array());//конвертируем в строку var str = JSON.stringify(new Array()); $.cookie('favorite_house',str);//записываем массив в куки return str; } </script> |