Задать вопрос
  • Аналог fullpage js на чистом js?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Я вас удивлю, но fullpage.js - давным-давно работает на ванильном js.
    Пользуйтесь и радуйтесь, скрипт не идеален, но остальные того хуже. :)
    Ответ написан
    Комментировать
  • Существуют ли CMS с возможностью самостоятельного написания и подключения Front-end части?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    То, что вам нужно, называется "headless CMS", в Гугле по такому запросу можете найти варианты.
    Также все популярные CMS умеют отдавать нужные данные по REST API.
    Ответ написан
    Комментировать
  • Почему игнорируются функции "if" и "else if"?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Потому что prompt вам возвращает строку, а не целое число.

    parseInt(prompt('Введите значение "a"'), 10);
    Ответ написан
    Комментировать
  • Как сделать элемент выходящим за все границы страницы, при этом фиксируемым и по центру?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Зафиксируйте 2ой элемент по центру. Например так:
    .second {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
    }


    На JS посмотрите размер блока и рассчитайте коэффициент (K), на сколько его нужно увеличить, чтобы он оказался больше размеров окна браузера. Примените коэффициент через transform: scale(K) - тем более у вас SVG, что масштабируется без потери качества.

    На скролл повешайте событие, которое будет постепенно уменьшать коэффициент до единицы. Всё. :)
    Ответ написан
    Комментировать
  • Как сделать автоматический перенос строки при длинном слове?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Есть свойство hyphens, но оно не работает в Хроме, да и в остальном алгоритмы такие себе, много переносов не к месту добавляет.
    Если без js - то только руками расставлять спецсимволы ­ в те места, где вы хотите разрешить перенос.
    Я использую для выражений типа "Политика конфиден­циаль­ности", чтобы на самых маленьких айфончиках было красиво.
    А если автоматически хочется - то только на JS парсить слова и вставлять эти спецсимволы, куда нужно.
    Ответ написан
    Комментировать
  • Есть ли инструмент проверки стилей на сайте?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    В хроме есть инструмент, но полезность спорная.
    Так как, во-первых, не все сайты состоят из одной страницы, а функционала объединения данных с разных страниц в одну статистику не завезли (пока не завезли), а во-вторых - все те штуки, которые применяются динамически - не учитываются как "использованные".
    Есть сервисы, на практике лично не использовал, но видел отзывы, что тоже работают весьма неидеально.

    5e764ad440489052775541.png

    UPD:
    Вспомнил статью, там подробнее о вашей беде.
    Ответ написан
    Комментировать
  • Книга по сео для разработчика?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Это не то чтобы ответ, просто мысли на тему.
    Вряд ли найдёте что-то толковое, SEO - очень конкурентная ниша, в которой очень много магии, а также дремучего идиотизма.
    До сих пор встречаются уникумы, требующие, чтобы у h1 в разметке не было указано никаких атрибутов (включая class) и прочее в таком духе.
    Лучший способ в одном месте сразу получить нужную информацию - найти какую-нибудь SEO-контору, которая вам кажется профессиональной, и заказать у них аудит сайта, после чего курить документ, который они составят.

    Без этого, всё что вы можете сделать:
    1. Следить за семантикой (использование к месту правильных тегов вместо диватоза, туда же ссылки вместо кнопок);
    2. Сделать графический контент максимально доступным для поисковиков (alt'ы изображений (можно через figure и figcaption), альтернативное описание SVG-графики)
    3. Сделать текстовый контент максимально доступным для поисковиков (верная структура заголовков, использование микроформатов там, где уместно).
    4. Следить за скоростью загрузки (является одним из факторов ранжирования, а также улучшает поведенческие факторы)
    5. Следить за доступностью (пока вроде как нигде не учитывается, но я верю, что в свете трендов это будет влиять в дальнейшем. Кроме того, доступность - это не только про людей с ограниченными возможностями, это также улучшает UX в целом, что способствует улучшению поведенческих факторов).

    Остальное (манипуляция ссылками со слэшами и без, жонглирование абсолютными и относительными ссылками и прочее) вам в одной конторе скажут делать так, в другой скажут по-другому - а поисковики на прямой запрос ответят "мы не раскрываем детали работы поисковой системы".
    Ответ написан
    Комментировать
  • Эффекты при наведении на элемент?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    По наведению на кнопку контентной части добавляется класс "interference", который запускает анимацию:
    .interference {
      animation: interference 0.5s linear;
    }

    Сама анимация простейшая:
    @keyframes interference {
      20% {
        filter: blur(2px);
        transform: skewY(-1.2deg)
      }
      30% {
        filter: blur(2px);
        transform: skewY(1.2deg)
      }
      100% {
        filter: blur(0px);
        transform: skewY(0)
      }
    }


    Заодно псевдоэлементом добавляется фиксированный фон, который мигает также с помощью свойства animation.
    Код форматировать лень, гуглите "css blink animation".
    Вот картинка: https://danieldefo.ru/styles/star/glitch-overlay.png

    Резюме: дизайнерская задумка ничего (хотя мне сама иконка больше нравится - есть что-то такое мистическое), а чисто технически это делать - скука смертная.

    Откройте консоль, добавьте класс сюда и изучайте инспектор.

    5e75480155473551632663.png
    Ответ написан
    1 комментарий
  • Как лучше сверстать такие вкладки?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Добрый день.
    По вашему примеру - я никогда не буду советовать делать какие-либо вкладки без использования JS - слишком негибко и неинтуитивно получается.
    Но если всё-таки нужно без JS, то вы можете по-прежнему использовать селектор "~", если поменяете порядок элементов с помощью order из flex-спецификации.
    Ваш причёсанный пример: https://codepen.io/morevm/pen/jOPpZKo
    То, как это должно быть с JS: https://codepen.io/morevm/pen/XWbBZOK
    Ответ написан
    Комментировать
  • Некоторые браузеры неправильно отображают мою страницу. Почему?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Установите кодировку файла в UTF-8 без BOM, в HTML в head поставьте <meta charset="utf-8">.
    Если не поможет, то заставьте ваш сервер отдать заголовок Content-Type: text/html; charset=utf-8 любым известным способом.
    Ответ написан
    Комментировать
  • Как сделать тянущую анимации за курсором мышки без библеотек?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Вам нужно использовать функцию линейной интерполяции (да, у нас в веб-анимации есть немного математики).
    А также перестать использовать setInterval за этим делом, используйте requestAnimationFrame.
    Вот вам статья, которая натолкнёт на правильные мысли, а ещё больше информации можно получить в Гугле по запросу "js lerp animation".
    Ответ написан
  • Как при вводе текста, textarea прокручивать до конца?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Да просто у вас очень странные пляски с навешиванием событий.

    Уберите ваше
    document.getElementById('textArea').addEventListener("keydown", keyDownUpdateSize);
    document.getElementById('textArea').addEventListener("keyup", keyUpUpdateSize);


    И поставьте вместо него:
    document.getElementById('textArea').addEventListener("input", updateSize);


    И будет работать как вам надо.

    Потом попробуйте вбивать текст, не отбивая его пробелом (просто зажмите символ и удивитесь, что всё сломалось).
    Осознайте, что единственный адекватный способ посчитать новую, необходимую высоту textarea - это скопировать её куда-то "out of bounds" вместе с контентом и узнать scrollHeight.

    Держите пример:

    Ответ написан
  • Как сгладить подключенные шрифты через файлы в css?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Здравствуйте.
    У нас в вебе немного инструментов для сглаживания.
    Всего один: font-smooth, предложенный давно-давно, да так и не внедрённый толком в браузерах.
    Оно внедрено за префиксами в некоторых браузерах.
    Есть ещё свойство text-rendering, которое влияет на отрисовку, но это история не про сглаживание.

    Таким образом, если вы напишите что-то в духе:
    html {
      -webkit-font-smoothing: antialiased; // or subpixel-antialiased
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    ... и шрифты не придут в норму, то либо у вас битый шрифт, либо "вы сделали всё, что могли", других инструментов нет (я никогда и никому не буду рекомендовать для всех текстов на странице задать text-shadow, чтобы имитировать сглаживание).

    Тот же Montserrat скачайте с Google Fonts и переконвертируйте самостоятельно - он точно может выглядеть нормально :)
    Ответ написан
    Комментировать
  • Как каждые 5 секунд исполнять код функции, обновляя её при повторном вызове?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    setInterval (а также setTimeout) вам отдаёт идентификатор таймера, запомните его и сбрасывайте при повторном вызове, а потом назначайте снова.

    var timer;
    function switchClasses() {
      div.classList.add("classTwo");
      div.classList.remove("classOne");
      clearTimeout(timer);
      timer = window.setTimeout(() => {
        div.classList.add("classOne");
        div.classList.remove("classTwo");
      }, 5000);
    }
    Ответ написан
    2 комментария
  • Как называется этот эффект?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Их много разных типов, гуглите "js particles animation" и открываете первые две страницы выдачи - где-то точно найдётся пример прям как в видео.
    Ответ написан
    4 комментария
  • Ошибка Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    А вы откройте в консоли (Ctrl+Shift+G в Chrome) вкладку "Network", найдите ваш запрос, и посмотрите что там приходит во вкладке "Response".

    5e736588b215e932457830.png
    Подсказка: приходит не JSON.
    Ответ написан
    Комментировать
  • До какого уровня нужно выучить программирование, чтобы получить хоть какую-нибудь работу?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    С каким языком легче найти работу при начальном уровне?

    С русским или английским. Фриланс - это история вообще не про "хардскилы", это про умение себя продать.

    Сложно ли найти работу на фрилансе в первое время

    Для новичка это всегда лотерея. Но у вас в ней будет значительно больше шансов, если вы будете искать индивидуальный подход к каждому клиенту (нужно читать как "хорошо общаться").
    Ответ написан
    Комментировать
  • Почему не работают стили?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Нужно убедиться, что в на странице вызываются функции "wp_head" (в теге head, header.php) и "wp_footer" (перед закрывающим тегом body, footer.php). Функции wp_enqueue_* завязаны на эти две функции.
    Если функции есть, но ничего не выводится - копайте в сторону того, что их перехватывает и не отдаёт на вывод (add_filter('wp_head')).
    Ответ написан
    Комментировать
  • Как получить шаблон и записать его в переменную wordpress?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Потому что get_template_part == include, она подключает, а не возвращает файл.

    function get_article() {
      ob_start();
      get_template_part('components/article-block');  
      $block = ob_get_contents();
      ob_end_clean();
      
      die(json_encode([
        'block' => $block,
      ]));
    }
    Ответ написан
    2 комментария