Delighters.JSはCSSアニメーションを追加して、スクロールしながらユーザーを楽しませてくれる、軽量のjavascriptライブラリ。

属性を追加

<div class="foo" data-delighter>

delighterに.startedと.endedクラスを組み込みます。
ライブラリがロードされると、data-delighterは.delighterクラスを取得します。

.foo.delighter {
 transition: all .3s ease-out;
 transform: translateX(-100%);
 opacity: 0;
}

.startedクラスはdata-delighter要素の上端がビューポートの0.75にあるときに設定されます。

.foo.delighter.started {
  transform: none;
  opacity: 1;
}

.endedクラスはdata-delighter要素の下端がビューポートの0.75にあるときに余分なクラスが設定されます。

.foo.delighter.started.ended {
 border: solid red 10px;
}

Aenean et augue a elit mollis molestie sed sed risus. Integer sit amet posuere tortor, in hendrerit diam. Pellentesque tempus porttitor velit vitae euismod. Sed faucibus erat vel augue luctus, vel congue mi ornare. Praesent id lacus justo. Vestibulum sit amet risus at libero aliquam laoreet. Donec placerat mauris lobortis libero pulvinar cursus.
  • 1.Maecenas elit risus, pretium sit amet mollis in, posuere et diam.
  • 2.Curabitur feugiat turpis vel hendrerit feugiat. Donec ullamcorper id nibh quis egestas.
  • 3.Curabitur imperdiet magna dolor, a bibendum turpis porttitor sit amet. Donec laoreet est fringilla luctus mattis.
  • 4.Donec blandit felis at metus convallis tempus. Ut laoreet, orci non consequat rhoncus, leo mauris dictum dui, eget aliquet dolor enim ut ligula.
  • 5.Etiam quis imperdiet nibh. Integer bibendum ullamcorper nunc ut consectetur.

これはテスです。

Aenean et augue a elit mollis molestie sed sed risus. Integer sit amet posuere tortor, in hendrerit diam. Pellentesque tempus porttitor velit vitae euismod. Sed faucibus erat vel augue luctus, vel congue mi ornare. Praesent id lacus justo. Vestibulum sit amet risus at libero aliquam laoreet. Donec placerat mauris lobortis libero pulvinar cursus.
Maecenas elit risus, pretium sit amet mollis in, posuere et diam. Curabitur feugiat turpis vel hendrerit feugiat. Donec ullamcorper id nibh quis egestas. Curabitur imperdiet magna dolor, a bibendum turpis porttitor sit amet. Donec laoreet est fringilla luctus mattis. Donec blandit felis at metus convallis tempus. Ut laoreet, orci non consequat rhoncus, leo mauris dictum dui, eget aliquet dolor enim ut ligula.
  • 01
  • 02
  • 03