Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
</head>

<body>
<p>下にスクロールするとアニメーションします</p>
 <div class="wrap">
		<div class="box animate__animated animate__bounce">bounce</div>
		<div class="box animate__animated animate__flash">flash</div>
		<div class="box animate__animated animate__pulse">pulse</div>
		<div class="box animate__animated animate__rubberBand">rubberBand</div>
		<div class="box animate__animated animate__shake">shake</div>
		<div class="box animate__animated animate__swing">swing</div>
		<div class="box animate__animated animate__tada">tada</div>
		<div class="box animate__animated animate__wobble">wobble</div>
		<div class="box animate__animated animate__jello">jello</div>
		<div class="box animate__animated animate__heartBeat">heartBeat</div>
		<div class="box animate__animated animate__bounceIn">bounceIn</div>
		<div class="box animate__animated animate__bounceInDown">bounceInDown</div>
		<div class="box animate__animated animate__bounceInLeft">bounceInLeft</div>
		<div class="box animate__animated animate__bounceInRight">bounceInRight</div>
		<div class="box animate__animated animate__bounceInUp">bounceInUp</div>

		<div class="box animate__animated animate__fadeIn">fadeIn</div>
		<div class="box animate__animated animate__fadeInDown">fadeInDown</div>
		<div class="box animate__animated animate__fadeInDownBig">fadeInDownBig</div>
		<div class="box animate__animated animate__fadeInLeft">fadeInLeft</div>
		<div class="box animate__animated animate__fadeInLeftBig">fadeInLeftBig</div>
		<div class="box animate__animated animate__fadeInRight">fadeInRight</div>
		<div class="box animate__animated animate__fadeInRightBig">fadeInRightBig</div>
		<div class="box animate__animated animate__fadeInUp">fadeInUp</div>
		<div class="box animate__animated animate__fadeInUpBig">fadeInUpBig</div>
		
		<div class="box animate__animated animate__flip">flip</div>
		<div class="box animate__animated animate__flipInX">flipInX</div>
		<div class="box animate__animated animate__flipInY">flipInY</div>

		<div class="box animate__animated animate__lightSpeedIn">lightSpeedIn</div>

		<div class="box animate__animated animate__rotateIn">rotateIn</div>
		<div class="box animate__animated animate__rotateInDownLeft">rotateInDownLeft</div>
		<div class="box animate__animated animate__rotateInDownRight">rotateInDownRight</div>
		<div class="box animate__animated animate__rotateInUpLeft">rotateInUpLeft</div>
		<div class="box animate__animated animate__rotateInUpRight">rotateInUpRight</div>
		
		<div class="box animate__animated animate__slideInUp">slideInUp</div>
		<div class="box animate__animated animate__slideInDown">slideInDown</div>
		<div class="box animate__animated animate__slideInLeft">slideInLeft</div>
		<div class="box animate__animated animate__slideInRight">slideInRight</div>
		
		<div class="box animate__animated animate__zoomIn">zoomIn</div>
		<div class="box animate__animated animate__zoomInDown">zoomInDown</div>
		<div class="box animate__animated animate__zoomInLeft">zoomInLeft</div>
		<div class="box animate__animated animate__zoomInRight">zoomInRight</div>
		<div class="box animate__animated animate__zoomInUp">zoomInUp</div>
		
		<div class="box animate__animated animate__hinge">hinge</div>
		<div class="box animate__animated animate__jackInTheBox">jackInTheBox</div>
		<div class="box animate__animated animate__rollIn">rollIn</div>
</div>
</body>
              
            
!

CSS

              
                p {
  text-align: center;
}
/* アニメ―ションする要素を非表示にする */
[data-animated=false] {
	visibility: hidden;
  animation-name: initial !important;
}

.wrap {
	margin: 80vh 0 40vh;
	width: 100%;
	overflow: hidden;
}

.box {
	width: 150px;
	margin: 30px auto;
	padding: 10px;
	background: #005425;
	color: #fff;
	text-align: center
}
              
            
!

JS

              
                (() => {

  // animatedクラスを持つエレメントを取得
  const targetElements = document.querySelectorAll(".animate__animated");

  // animatedクラスがなければ終わり
  if (!targetElements.length) return;

  // 発火した時の処理data-animated属性をtrueに
  const handleObserve = (entries) => {
    entries.forEach((entry) => {
      if (entry.isIntersecting) {
        entry.target.setAttribute("data-animated", "true");
      }
    });
  };

  // IntersectionObserverのオプション設定
  const observerOptions = {
    root: null,
    rootMargin: '0px',
    threshold: 0
  };

  // IntersectionObserverのインスタンス化
  const observer = new IntersectionObserver(handleObserve, observerOptions);

  // animatedクラスを持つエレメントの処理
  targetElements.forEach((target) => {

    // data-animated属性をセット
    target.setAttribute("data-animated", "false");

    // IntersectionObserverをエレメントにセット
    observer.observe(target);

  });

})();
              
            
!
999px

Console