фон
. Я не хотел идти с Клиппатом Полигона, но пытался оживить динамические пути, которые превращаются в путь Div с триггером прокрутки, как это реализовано на веб -сайте. Я знаю, что я не использовал плагин Morphsvg. Я сделал 2 шага, в которых изменяется форма контейнера Div. Для раздела Hero (раздел с воспроизведением видео) начальный путь как несколько уравнение. $ {W} 862,422 L 5 862,422 Q -3 862,422 -3 854,422 L -3 5 Q -3 -3 5 -3 Z < /p>
Шаг 2 -< /p>
m $ {0,931 * W -34,3} 185,647 l $ {0,931 * W -34,6} 34,6} 34,6. $ {0,947 * w - 32,8} 186,339 $ {0,95 * W - 28,9} 194,137 L $ {0,99 * W + 2,2} 786,123 Q $ {0,993 * W + 4,0} 793.92 $ {0,986 * W + 2,0} 794,063 L $ { -0. 0,966 * w + 2,0} 794,063 l $ { -0. 462.0} 819.577 Q $ { - 1,0 * W + 460,0} 819,72 $ { - 0,994 * W + 450,6} 812.027 L $ {1,286 * W - 432,0} 98,3966 Q $ {1,291 * W - 435,0} 90,7039 * $ {1,291 * W - 435,0} 90,70397 * wima {1,291 * W - 435,0} 90,70 397 * W 438.5} 91.3961 z
Могут быть и другие уравнения пути, но в настоящее время я перегружен 2. eventlistener прикреплен к окну и когда называется return 2 путей на основе этой конкретной ширины {initial, final} < /p>
const clipPathD = useResponsivePath()
useGSAP(() => {
gsap.set("#video-frame", {
clipPath: `path('${clipPathD.initial}')`,
});
gsap
.timeline({
scrollTrigger: {
trigger: "#video-frame",
start: "center center",
end: "bottom center",
scrub: true,
},
defaults: { ease: "power1.inOut" },
})
.to("#video-frame", {
clipPath: `path('${clipPathD.initial}')`,
});
});
< /code>
try 2 -< /p>
Поскольку предыдущий подход ничего не сделал, я пытался интегрировать путь к элементу SVG < /p>
useGSAP(() => {
gsap.set("#clipPathShape", { attr: { d: paths.initial } });
gsap.timeline({
scrollTrigger: {
trigger: "#video-frame",
start: "center center",
end: "bottom center",
scrub: true,
},
defaults: { ease: "power1.inOut" },
})
.to("#clipPathShape", { attr: { d: paths.middle } });
});
< /code>
и для svg < /p>
id="video-frame"
style={{ clipPath: "url(#dynamicClip)", WebkitClipPath: "url(#dynamicClip)" }}
>
{ Rest of code }
< /code>
Любая помощь очень ценится. Спасибо
Подробнее здесь: https://stackoverflow.com/questions/796 ... gsap-react
Анимирующий динамический путь на основе ширины экрана с использованием GSAP (React) ⇐ CSS
Разбираемся в CSS
1746201286
Anonymous
[b] фон [/b]
. Я не хотел идти с Клиппатом Полигона, но пытался оживить динамические пути, которые превращаются в путь Div с триггером прокрутки, как это реализовано на веб -сайте. Я знаю, что я не использовал плагин Morphsvg. Я сделал 2 шага, в которых изменяется форма контейнера Div. Для раздела Hero (раздел с воспроизведением видео) начальный путь как несколько уравнение. $ {W} 862,422 L 5 862,422 Q -3 862,422 -3 854,422 L -3 5 Q -3 -3 5 -3 Z < /p>
Шаг 2 -< /p>
m $ {0,931 * W -34,3} 185,647 l $ {0,931 * W -34,6} 34,6} 34,6. $ {0,947 * w - 32,8} 186,339 $ {0,95 * W - 28,9} 194,137 L $ {0,99 * W + 2,2} 786,123 Q $ {0,993 * W + 4,0} 793.92 $ {0,986 * W + 2,0} 794,063 L $ { -0. 0,966 * w + 2,0} 794,063 l $ { -0. 462.0} 819.577 Q $ { - 1,0 * W + 460,0} 819,72 $ { - 0,994 * W + 450,6} 812.027 L $ {1,286 * W - 432,0} 98,3966 Q $ {1,291 * W - 435,0} 90,7039 * $ {1,291 * W - 435,0} 90,70397 * wima {1,291 * W - 435,0} 90,70 397 * W 438.5} 91.3961 z
Могут быть и другие уравнения пути, но в настоящее время я перегружен 2. eventlistener прикреплен к окну и когда называется return 2 путей на основе этой конкретной ширины {initial, final} < /p>
const clipPathD = useResponsivePath()
useGSAP(() => {
gsap.set("#video-frame", {
clipPath: `path('${clipPathD.initial}')`,
});
gsap
.timeline({
scrollTrigger: {
trigger: "#video-frame",
start: "center center",
end: "bottom center",
scrub: true,
},
defaults: { ease: "power1.inOut" },
})
.to("#video-frame", {
clipPath: `path('${clipPathD.initial}')`,
});
});
< /code>
try 2 -< /p>
Поскольку предыдущий подход ничего не сделал, я пытался интегрировать путь к элементу SVG < /p>
useGSAP(() => {
gsap.set("#clipPathShape", { attr: { d: paths.initial } });
gsap.timeline({
scrollTrigger: {
trigger: "#video-frame",
start: "center center",
end: "bottom center",
scrub: true,
},
defaults: { ease: "power1.inOut" },
})
.to("#clipPathShape", { attr: { d: paths.middle } });
});
< /code>
и для svg < /p>
id="video-frame"
style={{ clipPath: "url(#dynamicClip)", WebkitClipPath: "url(#dynamicClip)" }}
>
{ Rest of code }
< /code>
Любая помощь очень ценится. Спасибо
Подробнее здесь: [url]https://stackoverflow.com/questions/79603706/animating-dynamic-path-based-on-screen-width-using-gsap-react[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия