• Реально ли сделать такое на css?

    Да, придётся поиграться с 3D-трансформациями.
    Вот достаточно подробный разбор mockup-слайдера. Здесь хорошо показан пример встраивания картинки в mockup.

    Ещё полезные ссылки по теме:
    https://habrahabr.ru/post/166751/
    franklinta.com/2014/09/08/computing-css-matrix3d-t...
    Ответ написан
    1 комментарий
  • Почему не работает следующий код?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Респект однозначный за изучение!
    Просто вносим строку получения текущего значения name внутрь функции (для отработки по "клику"):
    function NameValidate() {
      var str = document.getElementById("name").value;
    ////// тело функции....................
    }

    Добавлю, что NameValidate() лучше заменить на FormValidate(this.form) и полученную форму проинспектировать на все поля перед отправкой.
    Ответ написан
    1 комментарий
  • Почему не работает следующий код?

    mannaro
    @mannaro Куратор тега JavaScript
    Умею профессионально гуглить
    Не работает потому, что простые объекты передаются не по ссылке, а значением. Вкратце:
    // ты инициализируешь переменную str сразу после загрузки DOM
    // на данный момент она равна пустой строке
    var str = document.getElementById("name").value;
    
    // ты инициализируешь функцию
    function NameValidate() {
      // пытаешься получить значение переменной str
      // так как она передалась значением, то сама по себе она не изменяется
      // и до сих пор равна пустой строке
      if (str == ''){
        // а это значит, что все работает правильно
        alert("Введите имя!");
      }
    }

    Если же мы хотим избежать подобной ситуации, то нам необходимо либо сделать функцию для извлечения этой переменной, либо передавать ее родительский объект.
    // input - объект, который передан по ссылке
    var input = document.getElementById("name");
    function NameValidate() {
      if (input.value == ''){
        alert("Введите имя!");
      }
    }

    или:
    // str - функция, вытаскивающая свойство из объекта
    var str = function() {
      return document.getElementById("name").value;
    };
    
    function NameValidate() {
      if (str() == ''){
        alert("Введите имя!");
      }
    }

    или:
    function NameValidate() {
      // вытаскиваем значение сразу после клика
      // минус - повторный поиск элемента в дереве DOM
      // каждый раз при клике на кнопку
      var str = document.getElementById("name").value;
      if (str == ''){
        alert("Введите имя!");
      }
    }

    Респект тебе, что изучаешь JS не вникая в jQuery. А то сейчас столько народу, что и не скажут тебе, что делает getElementById :)
    Также, совет: не пиши str == '' Достаточно писать просто if(str)
    Это работает потому, что в JS любой тип можно привести к булеву значению. Пустая строка, undefined, null и 0 - это все false. Остальное - true.
    Ответ написан
    1 комментарий
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать