CSS
js

スクロール時にふわっと現れる画像 (jQuery無しで)

何番煎じかも分からないが、スクロールした時にふわっと現れる画像や文字をjQuery無しで実装した。

.fadein {
  opacity: 0;
}
.fadein.is-active {
  opacity: 1;
  transition: all ease 0.65s;
}
// 表示する閾値。適当に調整する。
const screenOffset = window.innerHeight / 2 

const elements = document.getElementsByClassName('fadein')
for (let element of elements) {
  window.addEventListener('scroll', () => {
    if (window.scrollY + screenOffset > element.offsetTop) {
      element.classList.add('is-active')
    }
  })
}
  <p style="height: 100vh">Prints out this usage information.</p>
  <img class="fadein" src="https://www.google.co.jp/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png">

Reactでやるなら、componentDidMount に書けば良い。

こちらを参考にさせて頂きました。

http://brian.hatenablog.jp/entry/floating-fade-in