admin管理员组文章数量:1293522
Trying to recreate this javascript scrolling animation - responding to changes in scroll direction and morphing between different transitions
- sample of the codebase from the reference /iris
I want to replicate this in gsap -- this version shows the morph from triangle to circle -- but then needs to morph to rectangle to flatten the sides out
// gsap.to()... infinity and beyond!
// To learn how to use GSAP, go to greensock/get-started
gsap.registerPlugin(ScrollTrigger);
var tl = gsap.timeline();
hippo = document.getElementById("hippo");
tl.to(
hippo,
{
morphSVG: "#circle",
duration: 1,
scrollTrigger: {
trigger: "#v-spacer-1",
markers: false,
scrub: true,
start: "top top"
}
},
"+=1"
);
@import url("+Negative:300,400&display=swap");
* {
box-sizing: border-box;
}
body {
font-family: "Signika Negative", sans-serif;
font-weight: 300;
margin: 0;
}
.v-spacer {
height: 90vh;
width: 100%;
scroll-snap-align: center;
}
svg {
display: block;
width: 100vw;
height: 100vh;
}
path {
fill: linear-gradient(to right, #ff0000, #00ff00);
}
#svg2 {
position: fixed;
}
#circle {
visibility: hidden;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CodePen - Gsap Scroll Morphing</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<!-- partial:index.partial.html -->
<svg version="1.1" id="svg2" inkscape:version="0.91 r13725" sodipodi:docname="Domestic_Dromedary_silhouette.svg" xmlns:svg="" xmlns:dc=".1/" xmlns:cc="" xmlns:rdf="" xmlns:sodipodi=".dtd" xmlns:inkscape="" xmlns="" xmlns:xlink="" x="0px" y="0px" style="enable-background:new 9 80 800 400;" xml:space="preserve">
<style type="text/css">
.st1 {
fill: black;
}
</style>
<!--SHAPE #1-->
<path id="circle" class="st1" d="M 0 0 A 1 1 0 0 0 1000 0" />
<!--SHAPE #2-->
<path id="hippo" class="st1" d="M 0 0 L 500 500 L 1000 0" />
<div id="v-spacer-1" class="v-spacer">
</div>
<div id="v-spacer-2" class="v-spacer">
</div>
<!-- partial -->
<script src='.3.4/gsap.min.js'></script>
<script src='.3.4/CSSRulePlugin.min.js'></script>
<script src='.cdpn.io/16327/MorphSVGPlugin3.min.js'></script>
<script src='@3/dist/ScrollTrigger.min.js'></script>
<script src="./script.js"></script>
</body>
</html>
本文标签: javascriptTriangleCircleSquareSVG morphing on scrollStack Overflow
版权声明:本文标题:javascript - Triangle, Circle, Square - SVG morphing on scroll - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741581987a2386623.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论