Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
73 views
in Technique[技术] by (71.8m points)

javascript - Display element over text - html,css,js

I want to overlap a ScrollMagic animation on a text, and not make the animation a separate section like it is right here:

enter image description here

There is supposed to be text over there but it made this animation into a new section where the text is at the bottom.

Code:

gsap.registerPlugin(MotionPathPlugin);

const tween = gsap.timeline();
tween.to(".paper-plane", {
  duration: 1,
  ease: "power1.inOut",
  motionPath: {
    path: [
        {x: 100, y: 0},
        {x: 300, y: 10},
        {x: 500, y: 100},
        {x: 750, y: -100},
        {x: 350, y: -50},
        {x: 600, y: 100},
        {x: 800, y: 0},
        {x: window.innerWidth, y: -250}
    ], 
    curviness: 2,
    autoRotate: true
  }
});

const controller = new ScrollMagic.Controller();
const scene = new ScrollMagic.Scene({
triggerElement: '.animation',
duration: 1000,
triggerHook: 0
})
.setTween(tween)
.setPin('.animation')
.addTo(controller);
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
header, footer{
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Montserrat", sans-serif;
}
header h1{
    font-size: 60px;
}
.animation{
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.paper-plane{
    position: absolute;
    top: 50%;
    left: 0%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/ScrollMagic.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/plugins/animation.gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.6/MotionPathPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/gsap.min.js"></script>
<div class="animation">
        <img class="paper-plane" src="https://i.postimg.cc/W1w9dT1x/paper.png" alt="Paper Plane">
    </div>
question from:https://stackoverflow.com/questions/65895313/display-element-over-text-html-css-js

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

you need to set the display to absolute

gsap.registerPlugin(MotionPathPlugin);

const tween = gsap.timeline();
tween.to(".paper-plane", {
  duration: 1,
  ease: "power1.inOut",
  motionPath: {
    path: [{
        x: 100,
        y: 0
      },
      {
        x: 300,
        y: 10
      },
      {
        x: 500,
        y: 100
      },
      {
        x: 750,
        y: -100
      },
      {
        x: 350,
        y: -50
      },
      {
        x: 600,
        y: 100
      },
      {
        x: 800,
        y: 0
      },
      {
        x: window.innerWidth,
        y: -250
      }
    ],
    curviness: 2,
    autoRotate: true
  }
});

const controller = new ScrollMagic.Controller();
const scene = new ScrollMagic.Scene({
    triggerElement: '.animation',
    duration: 1000,
    triggerHook: 0
  })
  .setTween(tween)
  .setPin('.animation')
  .addTo(controller)
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

header,
footer {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
}

header h1 {
  font-size: 60px;
}

.animation {
  width: 100%;
  height: 800px;
  position: absolute;
  overflow: hidden;
}

.paper-plane {
  position: absolute;
  top: 0;
  left: 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/ScrollMagic.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.7/plugins/animation.gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.6/MotionPathPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/gsap.min.js"></script>
<div class="animation">
  <img class="paper-plane" src="https://i.postimg.cc/W1w9dT1x/paper.png" alt="Paper Plane">
</div>

<div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Et ultrices neque ornare aenean. Tortor dignissim convallis aenean et tortor at risus. Ullamcorper eget nulla facilisi etiam dignissim
  diam. Id diam maecenas ultricies mi eget mauris pharetra et ultrices. Vitae auctor eu augue ut lectus arcu. Dui nunc mattis enim ut. Tempor orci eu lobortis elementum nibh tellus molestie nunc non. Vel turpis nunc eget lorem dolor sed. A lacus vestibulum
  sed arcu non odio euismod lacinia. Eget mi proin sed libero enim sed faucibus turpis in. Mattis rhoncus urna neque viverra justo nec ultrices dui sapien. Sed ullamcorper morbi tincidunt ornare massa. Eu feugiat pretium nibh ipsum. Vitae elementum curabitur
  vitae nunc sed. Vitae auctor eu augue ut lectus arcu. Mattis nunc sed blandit libero. In ante metus dictum at tempor commodo ullamcorper a. Mus mauris vitae ultricies leo integer malesuada nunc vel risus. Vivamus at augue eget arcu dictum varius. Faucibus
  ornare suspendisse sed nisi lacus sed viverra. Pellentesque dignissim enim sit amet. A diam sollicitudin tempor id eu nisl nunc. Lobortis elementum nibh tellus molestie nunc non blandit massa. Et netus et malesuada fames ac turpis egestas integer. Vivamus
  at augue eget arcu dictum varius duis. Ut sem nulla pharetra diam sit amet. Ipsum dolor sit amet consectetur adipiscing elit. Urna id volutpat lacus laoreet non. Commodo odio aenean sed adipiscing diam donec adipiscing tristique risus. Amet nulla facilisi
  morbi tempus iaculis. Nullam vehicula ipsum a arcu cursus. Suspendisse sed nisi lacus sed. Tristique risus nec feugiat in fermentum posuere urna nec. In hac habitasse platea dictumst quisque sagittis. Nam at lectus urna duis convallis convallis tellus.
  Mi in nulla posuere sollicitudin aliquam ultrices sagittis. Viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Orci sagittis eu volutpat odio. Magna eget est lorem ipsum dolor sit amet consectetur.
</div>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...