• Разница между AngularJS и Angular?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Есть.

    Angular это новая версия (> 2.0) и она обратно несовместима с AngularJS (1.x) — было много шуму, когда выкатили 2.0 и оказалось что по факту это новый фреймворк.
    Очень странно, кстати, что тестовое задание именно на AngularJS.
    Ответ написан
    3 комментария
  • Разница между AngularJS и Angular?

    Комментировать
  • Как правильно верстать сайт с арабскими и хинди языком?

    @Flying
    Поскольку недавно пришлось добавлять в одном проекте арабский язык - поделюсь полученным опытом:

    Вёрстку как правило переделывать не нужно, обычно достаточно изменения стилей, но только в случае если сам сайт свёрстан с применением современных техник, в первую очередь flexbox. Если у вас там float'ы или таблицы - то ой, задача по сложности вырастет на пару порядков и почти наверняка не обойдётся без доработки html кода. Если же в этом аспекте всё в порядке и ваш проект построен на flexbox - то основная масса изменений сводится к одной строчке CSS:
    body {
        direction: rtl;
    }

    это "перевернёт" все горизонтальные flexbox'ы и по сути сделает за вас всю основную массу работы по адаптированию сайта к RTL языкам. Конечно, в зависимости от того как именно у вас будет подключаться стиль (отдельные стили для RTL или только патч или всё вместе) реальный селектор может быть, к примеру html[dir=rtl] + body, но это уже детали.

    Тем не менее, даже если flexbox автоматизирует для вас кучу ручного труда - есть целый ряд ситуаций когда необходимы доработки вручную. Основных направлений несколько:

    1. Горизонтальные отступы. Это самая большая часть работы по адаптации т.к. вам необходимо будет "перевернуть" и их тоже, заменив, к примеру, margin-left на margin-right и наоборот, то же самое для padding'а
    2. Абсолютное / относительное позиционирование в горизонтальной плоскости. Речь идёт о свойствах left и right, их, как можно догадаться, тоже необходимо поменять местами
    3. Размеры шрифтов. Поскольку, к примеру, арабский шрифт, обычно выглядит меньше и тоньше чем, к примеру, английский - возможно возникнет потребность увеличить размеры шрифтов (font-size, line-height) и, возможно, подстроить стилизацию (font-weight)
    4. text-align - в ряде ситуаций может потребоваться изменить его на противоположный
    5. :first-child и :last-child, стоит быть внимательным и перепроверить корректность получаемого результата, к примеру если к этим псевдо-элементам добавляется дополнительный отступ - вам, возможно, придётся менять местами и селекторы
    6. Нужно адаптировать визуальные элементы содержащие направление, к примеру стрелки / уголки и т.п. В ряде случаев их можно повернуть, но где-то необходимо будет рисовать отдельную версию


    Если вы используете CSS препроцессоры - то я очень рекомендую написать mixin'ы для рендера этих свойств и адаптировать код таким образом чтобы изменяющиеся стили рендерились через них. Я выложил набор mixin'ов которые использовал в своём проекте, среди них нет mixin'ов для отступов и шрифтов т.к. у меня эти вопросы решаются по-другому, но думаю что там не будет ничего сложного.

    Общая схема адаптации которую я использовал в проекте:
    1. Добавление direction: rtl
    2. "Переворачивание" отступов, это самая большая часть работы т.к. они чаще всего встречаются
    3. Проверка вёрстки, для каждого выпавшего элемента добавление патчей с использованием mixin'ов, ссылку на которые я дал выше
    4. Подбор изменений для шрифтов, адаптация шрифтовых параметров


    Пример выдернутого наудачу из проекта куска для демонстрации патчей, это стиль добавления иконки к строке текста, для RTL языка её нужно было опускать ниже:
    &.with-icon {
        $icon-size: 1.85em;
        @include offset(h $icon-size 0);
    
        &:before {
            // Позиция иконки меняется на противоположную
            @include hpos($left: -1em, $auto: true);
            font-size: $icon-size;
            // Подстраивается высота иконки относительно текста
            @include ltr() {
                top: 45%;
            }
            @include rtl() {
                top: 65%;
                // Стоит обратить внимание что для RTL языков иконка дополнительно переворачивается, 
                // там стрелка, так что работает нормально, но в других местах это может быть по-другому
                transform: translateY(-50%) rotate(180deg);     
            }
        }
    }


    Надеюсь это описание будет полезным :)
    Ответ написан
    2 комментария
  • Как проверить есть ли класс у всех элементов в коллекции?

    @glagolew059
    frontend developer
    на кнопку повешал класс send-btn
    проверяем наличие ошибок, если есть ошибки, значит блочим кнопку

    var inputs = $('form input').length;
        var inputsValid =  $('form .is-valid').length;
           
        if(inputs == inputsValid) {
          $('.send-btn').attr('disabled',false);
        } else {
          $('.send-btn').attr('disabled',true);
        }


    https://codepen.io/glagolew059/pen/QojppO
    Ответ написан
    2 комментария
  • Как обновить фронтенд на существующем проекте?

    @ipokos
    1й вариант. Вы делаете верстку для проекта. т.е. вы разворачиваете у себя проект, и работаете в своей ветке. Потом это мерджится с веткой релиза или мастера. Изменения подтягиваются автоматом.

    2й вариант. Есть репозиторий проекта. Вы делаете тему в отдельном(своем) репозитории. т.е. она никак не связана с проектом. Тогда стандартный процес "натяжки" темы - руками.
    Ответ написан
    Комментировать
  • Почему gulp-plumber выдает ошибку, хотя код на codepen работает?

    RAX7
    @RAX7
    gulpUglify не понимает синтаксис spread операторов . Используй Babel или перепиши код без использования этого оператора.
    Ответ написан
    Комментировать
  • Какое полное руководство по modx для новичка-разработчика можете посоветовать?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    На modx.ws 90% уроков морально устарело) Вот почитайте https://web-revenue.ru/modx-revo
    Ответ написан
    Комментировать
  • Как в fancybox 3 загрузить через ajax только часть html?

    BRAGA96
    @BRAGA96
    Разве что самим сделать запрос, получить html, взять нужный селектор и вставить в окно fancybox
    getFile('plan-floor-pop-up.html', function ($html) {
        return $('#one', $html);
    }).done(function ($html) {
        //> Нужный jQuery Selector для вставки в DOM
    });
    
    function getFile(link, filter) {
        return $.ajax($.extend(true, {}, {
            method: 'GET',
            dataType: 'text',
            dataFilter: function (response) {
                var $html = $(response);
                if (filter) filter($html);
                return $html;
            }
        }, {
            url: link
        }));
    }
    Ответ написан
    Комментировать
  • Как в fancybox 3 загрузить через ajax только часть html?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Через AJAX загружается только весь документ от и до. Это технически невозможно. Будь то html, text, xml или json.
    Обычно используют, например, get или post запросы, чтобы получить только определённые данные, а не все сразу. Можете попробовать измазаться в бекенде и поставить свой мост, который будет брать данные с конечного сайта, фильтровать их и отдавать вашему скрипту только то, что нужно.
    Ответ написан
    Комментировать
  • Как изменить значение атрибута title без его обнуления?

    Odisseya
    @Odisseya
    Оптимизирую PageSpeed & Performance
    Допишите в конце селектор кот. содержит оба класса: $('.discount.repairs').prop('title', 'ххх'); Но вообще, перезаписывать свойство не лучший вариант, стоит добавить условия.
    Ответ написан
    Комментировать
  • Как сделать масштабирование svg по аналогии с background-size: cover;?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Попробуйте добавить preserveAspectRatio="xMidYMid slice" к SVG с этими полигонами.
    Ответ написан
    1 комментарий