• Как правильно сделать переключение темы?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Все что нужно для переключения темы:

    Инициализация при загрузке, максимально короткий скрипт. При желании можно добавить проверку на пользовательские предпочтения prefer-color-theme
    <head>
        <script>
            const theme = localStorage.getItem('color-theme') === 'dark' ? 'dark' : 'light';
            document.documentElement.setAttribute('data-color-theme', theme);
        </script>


    Код переключателя

    document.querySelectorAll('.theme-toggle').forEach(el => {
        el.addEventListener('click', () => {
            const theme = document.documentElement.getAttribute('data-color-theme') === 'dark' ? 'light' : 'dark';
            document.documentElement.setAttribute('data-color-theme', theme);
            localStorage.setItem('color-theme', theme);
        });
    });


    И стили

    :root {
      --body-bg: white;
    }
    [data-color-theme="dark"] {
      -body-bg: black;
    }


    Разумеется, вместо атрибута можно вешать класс
    document.documentElement.classList.add('dark-theme');
    :root {
      --body-bg: white;
    }
    html.dark-theme {
      -body-bg: black;
    }
    Ответ написан
    Комментировать
  • Как исправить 500 ошибку при нажатии на любой развел в админ панели?

    delphinpro
    @delphinpro
    frontend developer
    У вас не установлен компонент versionx
    Можно предположить, что он был установлен в той бд, из которой вы копировали данные. Запись в базе есть, а файлов на диске нет.

    Можно попробовать отключить плагин, отредактировав таблицу напрямую. Но вполне вероятно, что эта проблема не единственная.
    Ответ написан
    2 комментария
  • Как вставить табличные файлы в SQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как делать такие сложные анимации?

    Kentavr16
    @Kentavr16
    long cold winter
    Два основных варианта - animation-timeline или скрипты. Из минусов анимейшн-таймлайн - относительно слабая поддержка браузерами. Когда я смотрел последний раз было около 65 процентов. Мозила не поддерживает принципиально. Скрипты - это множество библиотек, вот пара примеров. Можно еще руками написать, если знания позволяют.
    Ответ написан
    Комментировать
  • Как делать такие сложные анимации?

    victormayorov
    @victormayorov
    Frontend разработчик
    у тильды самописные анимации, на сколько я знаю.
    но можно посмотреть в сторону gsap. очень мощная библиотека для анимаций. умеет с webgl работать и т.д.
    у меня в профиле есть заготовка сайта портфолио моего. делал я его года 3 назад и там использую gsap + webgl.

    именно для скролл анимаций у gsap есть плагин ScrollTrigger. документация у них в принципе очень подробно расписана, можно за один вечер базу освоить
    Ответ написан
    Комментировать
  • Как делать такие сложные анимации?

    @its2easyy
    готовое решение для скрола - ScrollTrigger, а эффекты к скролу можно любые привязывать
    Ответ написан
    Комментировать
  • Как сделать что бы mSearchForm открывал модульное окно с товаром а не переходил на страницу?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Придется наверное писать ajax-запрос и его обработчик. Так как в ui передаются только следующие параметры: id-товара, label для autocomplete, url-товара и его название.
    Тебе нужно в методе select, который на последнем скрине, написать ajax-post запрос, в котором ты будешь передавать id товара. Далее этот запрос обрабатывай плагином или сниппетом и возвращай готовую обертку модалки и выводи ее.
    Как работать с Ajax, есть старая добрая статья от Василия по ссылке.
    Ответ написан
    Комментировать
  • Как менять цену в msOptionsPrice2 исходя из size?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Ну дык у вас это не вес же, а размеры, то бишь size, а у обертки вы указываете класс msoptionsprice-weight.
    Вообще в доке все более, чем понятно расписано. Не поленитесь, почитайте и все получится.
    По поводу radio-кнопок: вы же явно умеете в HTML? Откройте tpl, указанный в сниппете msOptions и переделайте его под radio-кнопки. Плейсхолдеры то те же самые остаются, тут дело лишь в HTML-разметке.

    p.s возможно не вызван msOptionsPrice.initialize на странице
    Ответ написан
    21 комментарий