• Почему не растягивается фоновое изображение?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Автор экспортировал изображение с прозрачностью снизу. По факту изображение растягивается как положено. Просто нижняя часть это как раз прозрачность.
    Ответ написан
    Комментировать
  • Как работает процесс создания сайта?

    MrDecoy
    @MrDecoy Куратор тега HTML
    Верставший фронтендер
    надо лендинг пейдж
    понадобится CMS

    Достаточно сомнительно. Лендинг - это одностраничный сайт, как правило, заточенный на продажу ограниченного количества позиций из товаров\услуг (как правило 1-3 позиции). Ну либо какая-то информационная страница общего характера. Прикручивать для такого CMS - избыточно.

    А всё далее Вами описанное это всё зависит от того, к кому заказчик пришёл. На все вопрсы в любой последовательности можно отвечать да или нет. На какие то можно ответить да, а на какие то нет. И наоборот. То есть зависит от исполнителя.

    Фуллстэк фрилансер может сделать всё. Может иметь товарищей с которыми разделит проект.

    Нормальная компания\веб-студия сначала соберёт с заказчика контент, придаст ему сеоподобную форму(что для лендинга как правило малополезно) сделает прототип, нарисует дизайн с согласованным контентом, согласует с заказчиком дизайн, после чего отдаст дизайн на вёрстку и разработку бэкенда. А после зальёт на хостинг, и предложит настройку рекламы для лендинга, т.к. это самый эффективный путь продвижения на старте и для лендинга в принципе. Всё настроит и передаст заказчику исходники.
    Ответ написан
    4 комментария
  • Почему календарь пролистывается один раз и всё?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    удивительно что и 1 раз работает...

    $("prev").addEventListener("click", prevMonth, false);
      $("next").addEventListener("click", nextMonth, false);

    $("next") - Это что такое? Если следовать правилам, то это "next" это селектор по тэгу. Такого тега не существует.

    Аааааа.... Вы решили а почему бы не сделать свою функцию, которая ищёт по id и не назвать её так же как jQuery, чтобы понятно это было только Вам...

    Короче у Вас поиск по id который должен быть уникальным на странице.
    Обработчик вешается только на первый элемент. Соответственно, работают только стрелочки первого месяца.
    Исправляйте на поиск по классу.
    Ответ написан
    6 комментариев
  • Как скрыть выбранные элементы на js?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Так у Вас если 2 приходит, то сначала отрабатывает ветка else от первого if
    if (current_tier_num === "1") {
      $('#current-lp-1').hide(); 
      $('#current-lp-3').show(); // добавил от себя, т.к. это будто бы какой то переключатель
      $('#current-lp-4').show(); // и Вы не учли что может быть переключение с 2 на 1
    } else if (current_tier_num === "2") {
      $('#current-lp-3').hide();
      $('#current-lp-4').hide();
      $('#current-lp-1').show(); // аналогично предыдущему комменатрию
    } else {
      $('#current-lp-1').show();
      $('#current-lp-2').show();
      $('#current-lp-3').show();
      $('#current-lp-4').show();
      $('#current-lp-5').show();
    }

    То что нужно?
    Ответ написан
    Комментировать
  • Как успешно пройти валидацию и устранить ошибки?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    1) Не существует HTML элемента wrapper.
    2) Судя по всему Вы не закрыли header и разместили в нём main. Это не корректно. У Вас же тело не в голову вложены, а между ними шея ещё. То есть они идут друг за другом.
    3) Интерактивные элементы не стоит вкладывать друг в друга. Это плохая практика. Поэтому не нужно ложить кнопки в ссылки и наоборот.
    4) Про див судя по всему у Вас где-то не соответствие количество открытых и закрытых дивов.
    5) Не закрытый main

    - Ошибку про ссылку в списке Вы не показываете. (Хотя в первом li ссылка не закрыта)
    - Часто ошибки имеют каскадный эффект. Исправляешь одну - исправляется десяток.

    P.s.
    Мой первый сайт дался мне непросто
    Это нормально
    Ответ написан
    7 комментариев
  • Как обратиться к стилям определенного элемента?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    nth-child

    .app__block:nth-child(3) {
      margin-bottom: 8px;
    }
    
    .app__block:nth-child(3) .item-hr {
      display: none
    }
    Ответ написан
    2 комментария
  • Что делать если не задаётся бэкграунд на nav?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Что значит "не задаётся бэкграунд"? Всё накидывается и работает в соответствии с тем, что указано в css.
    У nav белый фон, у списка внутри - серый, согласно универсальному селектору
    * {
        box-sizing: border-box;
        background: #E5E5E5;
    }
    (без чёткого понимания всех нюансов этого селектора использовать его не рекомендуется).
    Ответ написан
    3 комментария
  • Почему d[0] не изменяется?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Дак а чего вдруг ему меняться то?
    Давайте по шагам:
    // В первой строчке 3 шага
    // 1) Создался новый массив
    // 2) Создался новый объект {x:1}, и ссылка на него легла в первый элемент массива из шага 1.
    // 3) В переменную "const c" положилась ссылка на массив из шага 1.
    const c = [{x:1}]
    // Вторая строчка так же содержит 3 шага
    // 4) Создаётся новый массив
    // 5) По ссылке массив "с" спрэдится. Т.о. первым элементом нового массива становится ссылка на объект из шага 2.
    // 6) Ссылка на новый массив но со "старым" объектом кладётся в переменную "d"
    const d = [...c] 
    // Третья упрощённо имеет 1 шаг
    // 7) в массив из переменной с именем "c" в первый элемент кладётся новое значение. Причём совершенно не важно какое.
    c[0]=100;

    На этом всё.
    Таким образом получаем, что в массиве c в элементе с индексом 0 у нас число, а в массиве b в элементе с индексом 0 у нас ссылка на объект созданный на втором шаге.
    Ответ написан
    Комментировать
  • Как сместить точки у ненумерованного списка вместе с текстом?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    ul {
      list-style-position: inside;
    }
    Ответ написан
    4 комментария
  • Как сделать анимацию курсора под текстом?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Можно конечно отключать poiner-events, но если включать его для текста, то это всё равно приведёт к той же проблеме. Что под текстом не будет работать.

    Поковырял немного:


    Основное что изменил - отслеживание событий mousemove не на канвасе, а на всей секции и e.offsetX на e.clientX
    Ответ написан
    2 комментария
  • В какой момент можно использовать функции из другого скрипта?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Разве мы можем использовать скрипт до того, как добавили его в HTML-документ

    Так а где там использование скрипта до того как он загрузился?

    1) функция loadScript принимает на вход 2 аргумента - адрес для скрипта(src) и функцию, которая выполнится после загрузки скрипта из указанного адреса(callback).
    2) Функция loadScript создаёт элемент скрипт, в src которого передаёт одноимённый аргумент. Таким образом, происходит загрузка скрипта браузером.
    3) Задаётся обработчик события onload - то есть когда скрипт загрузится нужно выполнить колбэк - второй аргумент функции. В данном примере это 2 алерта.
    4) т.к. событие onload неизвестно когда произойдёт (оно асинхронное) то выполняется следующая строчка - добавление скрипта в шапку.
    5) Скрипт загрузился, выполнился коллбэк. Т.к. скрипт уже в шапке - доступна функция лодаша.
    Ответ написан
    3 комментария
  • Почему теряется контекст в замыкании?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Не понятно что значит "теряется".
    Какой контекст у функции, объявленной глобально? Window или с use strict - undefined.

    А в функции которую она возвращает контекст равен элементу, потому что так работают обработчики событий. Т.к. эта функция вызывается не сразу, не в глобальном контексте, а в контексте элемента, ПОСЛЕ срабатывания клика.
    Ответ написан
    Комментировать
  • Как в тег поместить js код?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    По итогу обсуждений выяснилось что автору нужно было результат работы js обернуть в дополнительный тэг и его уже вставить в нужный block.

    Решения, отвечающие на данный запрос:
    block.innerHTML = '<span>' + this.value.slice(12) + '</span>'
    
    // Или через шаблонную строку:
    block.innerHTML =  `<span> ${ this.value.slice(12) } </span>`;
    
    // Или через создание нового html элемента явно:
    const span = document.createElement('span');
    span.textContent = this.value.slice(12);
    block.append(span);
    Ответ написан
    Комментировать
  • Как с помощью input открыть нужный элемент массива?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    1. Код стоит оформлять соответствующим образом - с помощью тэга <code> который доступен в редакторе с помощью кнопки </>.
    2. Нужно иметь знания обработки событий. Например обработка клика по кнопке.
    3. Знания вывода на экран (Вы не указываете как именно должно выводиться, поэтому в элементарном примере это alert)
    4. Знания работы с полями ввода и поиском элементов в dom. То есть нужно будет найти инпут в DOM дереве и считать его свойство value.
    5. Знания по работе с массивами. А именно .filter - для отсеивания не соответствующих элементов.
    6. Ну и скорее всего метод .includes тоже пригодится для проверки вхождения введённого текста в genre элементов массива.
    7. Ну и само собой понимание что такое объект и как считывать его свойства.

    итого на псевдокоде:
    по нажатию на кнопку --> взять значение из инпута --> прогнать исходный массив через фильтр по значению инпута и свойству genre --> вывести результат на экран
    Ответ написан
    Комментировать
  • Как привести несколько условий в тернарном операторе в базовому виду?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    https://converter.website-dev.eu/

    if (isHorizontal) {
    	if (randomStartIndex <= width * width - ship.length) {
    		randomStartIndex
    	} else {
    		width * width - ship.length
    	}
    } else {
    	if (randomStartIndex <= width * width - width * ship.length) {
    		randomStartIndex
    	} else {
    		randomStartIndex - ship.length * width + width
    	}
    }
    Ответ написан
    Комментировать
  • Как сделать чтобы меняя код js в браузере, он сохранялся в файловой системе?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    в FireFox Developer такое есть https://www.mozilla.org/ru/firefox/developer/

    А если через Chrome, то нужно дать доступ к папке в разделе Sources --> overrides --> нажать плюсик и выбрать папку. После чего ознакомиться с предупреждением, принять решением. Если нажмёте "разрешить" - то можно будет там же на вкладке sources менять данные, сохранять их через ctrl+s и они будут сохраняться при перезагрузке странице.
    Однако исходный файл изменён не будет. В папке создастся специальная диреткория, внутри которой будет изменённый файл. Можно либо его открыть в редакторе кода, либо перенести данные из него в оригинал.
    https://developer.chrome.com/blog/new-in-devtools-...

    Только не понятно зачем оно Вам надо. Запускается live server в том же VS Code и вперёд. Меняете в редакторе, нажимаете ctrl+s - применится для запущенного сервера, если стоит hot update.

    UPD: FireFox Developer судя по всему позволяет менять только CSS файлы. Chrome Override не совсем то что нужно, так как создаёт отдельные файлы.
    А вот если добавить workspace folder то можно будет редактировать через дев тулзы все файлы в директории.
    См тут: https://stackoverflow.com/questions/2558346/how-do...
    Ответ написан
  • Можно ли добавить класс в меню на css?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Для этого есть nth-child

    Таким образом:
    .photoblock .nav:nth-child(1) { color: red }
    .photoblock .nav:nth-child(2) { color: green }
    .photoblock .nav:nth-child(3) { color: blue }

    и так далее
    Ответ написан
    Комментировать
  • Почему не работает JS код?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    не подключили jquery или выполняете код раньше чем он подклдючился.
    Ответ написан
    Комментировать
  • Как в JavaScript сделать так чтобы при добавлении класса к элементу начинал прогружаться какой либо скрипт?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Ну либо в том же скрипте после добавления класса запускать нужный код, либо
    https://learn.javascript.ru/mutation-observer
    Ответ написан
    1 комментарий
  • Как стилизовать тег в css?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Как Вы собрались стилизовать пустое пространство? Тэг br отвечает за принудительный перенос строки.
    Ответ написан
    9 комментариев