首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动时如何弹跳动画?

滚动时如何弹跳动画?
EN

Stack Overflow用户
提问于 2016-12-03 01:42:14
回答 1查看 4K关注 0票数 1

我有这个.png,我想让它每次检测到滚动运动时都会弹出一点,但我对javascript和css并不在行。我希望你们能帮我

代码语言:javascript
复制
<div class="arrownav bounce">
  <a href="" class="logo">
    <img src="{{ asset('assets/img/arrow down.png') }}" height="45">
  </a>
</div>

我现在使用的css使图像弹出。

这是代码:

代码语言:javascript
复制
  .bounce {
    -webkit-animation:bounce 1s infinite;
    -moz-animation:bounce 1s infinite;
    -o-animation:bounce 1s infinite;
    animation:bounce 1s infinite;

  }

  @-webkit-keyframes bounce {
    0%       { bottom:0px; }
    50%      { bottom:15px; }
    100%     {bottom:30;}
  }

   @-moz-keyframes bounce {
    0%       { bottom:0px; }
    50%      { bottom:15px; }
    100%     {bottom:30;}
  }

   @-o-keyframes bounce {
    0%       { bottom:0px; }
    50%      { bottom:15px; }
    100%     {bottom:30;}
  }

   @keyframes bounce {
    0%       { bottom:0px; }
    50%      { bottom:15px; }
    100%     {bottom:30;}
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-03 06:10:32

我注意到的第一件事是所有@keyframes中缺少的单元,就在这里:

代码语言:javascript
复制
100%     {bottom:30;}

这应该是:

代码语言:javascript
复制
100%     { bottom:30px; }

您已经在动画中使用了bottom样式,这是非常好的,但是要使其工作,元素的position必须是relativeabsolutefixed (更多的这里)。

代码语言:javascript
复制
.bounce {
    position: relative;
    -webkit-animation: bounce 1s infinite;
    -moz-animation: bounce 1s infinite;
    -o-animation: bounce 1s infinite;
    animation: bounce 1s infinite;
}

这是一个工作的小提琴

奖励改变元素在动画中的位置的另一种方法是transform样式,而不是使用bottom。当您使用transform时,您不需要position: relative;

代码语言:javascript
复制
@keyframes bounce {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(-30px);
  }
}

小提琴

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40943401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档