Максим Тимофеев: да, но разве я не избежал лишних запросов? Проверил на наличие класса. Если он есть - ничего не делать. "Если убрать всю анимацию, то блюда получаю моментально, и при повторном нажатии на то же самое подменю - ничего не происходит. Ибо данные уже получены"
Максим Тимофеев: спасибо, но я все же не понял зачем вообще использовать Storage? Что это мне даст? Как я ответил другому человеку - я сделал вот так - https://jsfiddle.net/m5o8pwrd/4/ Вроде бы работает. Сделал проверку на наличие класса при клике на подпункт. Это глупо?
ThunderCat: https://jsfiddle.net/m5o8pwrd/4/ сделал так. Вроде бы работает. Сделал проверку на наличие класса при клике на подпункт. Это глупо?
П.с: был бы не против, если бы вы смогли все-таки подправить код на тот, который вы имели в виду
ThunderCat: понял. Мне кажется, что даже массив не надо. Смотрите, у меня в ajax.success() есть строка $(".list-items").hide().fadeIn(1000); - она при успехе делает маленькую анимацию для интерактива так сказать. Если убрать всю анимацию, то блюда получаю моментально, и при повторном нажатии на то же самое подменю - ничего не происходит. Ибо данные уже получены. Вся фишка в анимации. Если я оставляю анимацию, то при повторном клике она сработает, и так вечно. Вот как мне запретить анимацию, если блюда уже получены?
Понял. Но я все же получаю данные через свой код, все работает. Но из-за того, что я при success делаю анимацию блока, эта анимация срабатывает постоянно при клике на подменю. Как это исправить?)
ThunderCat: сделал задачу с активной вкладкой - https://jsfiddle.net/m5o8pwrd/3/ Скажите, говнокод? Но я так и не понял как "если есть не дергать сервер, взять из массива, иначе аяксом и запомнить."
ThunderCat: я уже понял) Немного изменил слова в 1-м посту. Значит, вопрос актуален на счет ajax'a - нужно получить блюда, согласно подменю. При этом подменю сделать активным(добавить класс active). При клике на тоже самое подменю - не обрабатывать ничего. Как видно из моего кода, я скрываю каждый раз при запросе блок $(".list-items").hide().fadeIn(1000); .
ThunderCat: Стоп. Подождите. При чем тут аккордеон меню? Смотрите. У меня есть меню - "основное и второе". У каждого меню есть подменю - "Холодные закуски, Горячие и т.д". Соответственно, у этого подменю есть свои блюда, которые я должен выводить! Возьмем для примера "Холодные закуски". При клике на них я получаю весь список блюд этого подменю "Бутерброд с чем-то, запиканки и т.д" в контент. Скажите, при чем тут аккордеон?
ThunderCat: ну изначально у меня сразу все меню прогружается. Вы имеете в виду, что при клике на подменю считать его id, считать id блюда(который будет равен подменю)и, если они не равны - скрывать через display:none?
А что скажете на счет таблиц? Правильно ли они созданы для такой задачи? И как сделать так, чтобы, если есть вложенность, то будет <?php echo $item['name']; ?>, если нету вложенности, то вместо span - будет