Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Манипуляция SVG с помощью JavaScript

Scalable Vector Graphics (SVG) — это формат векторной графики, широко используемый в веб-разработке. Одним из мощных инструментов для работы с SVG является JavaScript, который позволяет динамически изменять атрибуты, стили и поведение SVG-элементов.

В этой статье мы рассмотрим основные приемы манипуляции SVG с помощью JavaScript.

Доступ к SVG-элементам


Для того чтобы манипулировать SVG-элементами, нужно сначала получить доступ к ним с помощью JavaScript. Вот несколько способов:

Получение элемента по ID:
let svgCircle = document.getElementById('myCircle');

Получение элементов по классу:
let circles = document.getElementsByClassName('circle');

Получение всех элементов SVG:
let svgElements = document.querySelectorAll('svg *');

Изменение атрибутов SVG


Один из самых частых способов манипуляции SVG — это изменение атрибутов элементов. Вот несколько примеров:

Изменение цвета заливки и обводки:
let circle =
...

Простые и эффективные техники анимации SVG с GSAP

GreenSock Animation Platform (GSAP) — это мощная библиотека для создания качественной анимации в веб-пространстве. Вместе с SVG GSAP позволяет создавать потрясающе выглядящие и интерактивные элементы. В этой статье мы рассмотрим простые и эффективные техники, которые помогут оживить SVG с помощью GSAP.

Введение в GSAP и SVG



Что такое GSAP?
GSAP — это высокопроизводительная библиотека для анимации, позволяющая анимировать практически любые CSS-свойства и DOM-элементы. В отличие от CSS-анимации, GSAP предлагает больший контроль и лёгкость управления.

Как подключить GSAP?
Подключить GSAP можно через CDN:
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>

Простые техники анимации SVG с GSAP



Анимация движения (Motion Path)
GSAP позволяет анимировать путь (motion path) по траектории, заданной в SVG. Это особенно полезно для создания плавных перемещений объектов:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
    <path d="M10,10
...

Как создать виджет для встраивания в сторонние сайты

Создание виджетов для встраивания в сторонние сайты — это удобный способ предоставления своего функционала или контента третьим лицам. Такие виджеты могут представлять собой календарь мероприятий, форму заказа, рекламный блок или что угодно другое. В этой статье мы рассмотрим, как создать виджет и предоставить его другим сайтам для встраивания.

Что такое виджет?


Виджет — это мини-приложение или блок контента, который можно встроить на чужие сайты. Виджеты обычно представляют собой HTML-, CSS- и JavaScript-код, упакованный в удобном формате, который владелец сайта может легко скопировать и вставить на свою страницу.

Какие задачи решает виджет?


  • Предоставление дополнительного функционала на сайтах партнёров.
  • Увеличение узнаваемости бренда и привлечение трафика.
  • Возможность монетизации (например, реклама или платные услуги).

Как создать виджет?


  1. HTML-код: Создайте HTML-разметку для вашего виджета. Например, это может быть форма подписки, кнопка покупки или информативный блок.
  2. CSS-стилизация: Оп
...

JavaScript: Модули

Модули в JavaScript — это мощный инструмент для структурирования кода, улучшения его читаемости и поддержки. В этой статье мы рассмотрим, как использовать модули, как импортировать и экспортировать функции и переменные, а также как избежать типичных ошибок.

Что такое модули в JavaScript?


Модули позволяют разбивать код на отдельные файлы, каждый из которых отвечает за определённую функциональность. Это упрощает разработку и поддержку больших проектов.

Основные понятия



1. Импортирование и экспортирование
  • import: Используется для импорта функций и переменных из других файлов.
  • export: Используется для экспорта функций и переменных, чтобы сделать их доступными для других файлов.

2. Модульный подход
  • Разделяй логику на отдельные модули, каждый из которых отвечает за определённую функциональность.
  • Избегай глобальных переменных, чтобы предотвратить конфликты.

Пример использования модулей



Файл module1.js:
// Экспорт функции
export function module1Function() {
    console.log('Функция из
...

Как проверить видимый или невидимый элемент

Проверить, виден ли элемент на странице, можно несколькими способами. Видимость элемента определяется не только наличием свойства display: none, но и другими факторами, такими как высота и ширина равные нулю, видимость родителей и многое другое.

Варианты проверки видимости элемента:

Проверка с помощью jQuery


В jQuery есть специальный метод .is(':visible'), который проверяет видимость элемента:
if ($('#myElement').is(':visible')) {
    console.log('Элемент виден');
} else {
    console.log('Элемент скрыт');
}

Проверка с помощью чистого JavaScript


Можно воспользоваться чистым JavaScript, проверив несколько свойств элемента:
function isVisible(element) {
    const style = window.getComputedStyle(element);
    return !(style.display === 'none' ||
             style.visibility === 'hidden' ||
             parseFloat(style.opacity) <= 0 ||
             element.offsetWidth === 0 ||
             element.offsetHeight === 0);
}

const el =
...