LoginSignup
5
4

More than 3 years have passed since last update.

CSSやjQueryでできるアニメーション!

Last updated at Posted at 2021-04-13

CSSやjQueryでwebページにつけるアニメーションを自分のメモとしてまとめました。
*いろいろなサイトを参考にさせていただきました。

ページをスクロールするとクラスが追加される。

ページをスクロールしていくとclassNameに”some class!”部分のクラスが追加される。

jQuery
$(function() {
    $(window).scroll(function() {
      $(".className").each(function() {
        var scroll = $(window).scrollTop(); 
        var blockPosition = $(this).offset().top; 
        var windowHeihgt = $(window).height(); 
        if (scroll > blockPosition - windowHeihgt) {
          $(this).addClass("some class!");
        }
      });
    });
  });

画面ロード中にアニメーションを表示

画面ロード中に黄色い円が出ます。htmlに.loaderを持つクラスが必要。
cssを変えることでいろいろ表示できる。

最後に紹介しているEpic spinnerのサイトなどでローディングアイコンをコピーしてCSSとHTMLに張り付ければかっこいいのを作れる。

css
.loader {
  align-items: center;
  background: #fff;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
}

.loader::after {
  animation: loader 0.5s linear infinite;
  border: 1px solid orange;
  border-radius: 50%;
  border-right: 5px solid rgba(orange, 0.2);
  border-top: 5px solid rgba(orange, 0.2);
  content: "";
  height: 70px;
  width: 70px;
}

@keyframes loader {
  0% {
    transform: rotate(0);
  }


  100% {
    transform: rotate(360deg);
  }
}
jQuery
  $(window).on('load',function(){
    $(".loader").fadeOut();
    // これだけで 
  });

ふわふわと揺れる

htmlにfuwafuwaクラスをつけると適用される。backgroundのurlはお好みで

css
//CSS
.fuwafuwa {
  animation: fuwa 4s infinite ease-in-out .9s alternate;
  background: url(image) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
}

@keyframes fuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

くるくる回って出現

htmlにkurukuruクラスをつけると適用される。

css
.kurukuru {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  width: 50px;
  height: 50px;
  opacity: 0;
  padding-bottom: 40px;
}
.kurukuru.is-animated {
  animation: kurukuru 1.4s ease-out;
  opacity: 1;
}
@keyframes kurukuru {
  0%{
    transform: rotateY(0) translateY(40px);
    opacity: 0;
  }
  100%{
    transform: rotateY(360deg) translateY(0);
    opacity: 1;
  }
}

最後に

いろいろ追加していきたいと思います。

便利なサイト
Epic spinner
https://epic-spinners.epicmax.co/#/

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4