scroll-fadein
HTML
<div class="scroll-space">
<div class="fadein fadein-left blue">
左からフェードイン
</div>
<div class="fadein fadein-right pink">
右からフェードイン
</div>
<div class="fadein fadein-up yellow">
上からフェードイン
</div>
<div class="fadein fadein-bottom green">
下からフェードイン
</div>
</div>
SCSS
.scroll-space{
box-sizing: border-box;
padding-top: 300px;
height: 1600px;
color: #fff;
overflow: hidden;
.blue{
background: #77BBCF;
width: 200px;
height: 200px;
padding: 30px;
margin: 0 auto 50px;
}
.pink{
background: #FFB4B4;
width: 200px;
height: 200px;
padding: 30px;
margin: 0 auto 50px;
}
.yellow{
background: #F8913C;
width: 200px;
height: 200px;
padding: 30px;
margin: 0 auto 50px;
}
.green{
background: #26AA5A;
width: 200px;
height: 200px;
padding: 30px;
margin: 0 auto 50px;
}
}
.fadein {
opacity: 0;
transform: translate(0,0);
transition: all 1.5s;
&.fadein-left{
transform: translate(-30px,0);
}
&.fadein-right{
transform: translate(30px,0);
}
&.fadein-up{
transform: translate(0,-30px);
}
&.fadein-bottom{
transform: translate(0,30px);
}
&.scrollin{
opacity: 1 !important;
transform: translate(0, 0) !important;
}
}
JavaScript
$(window).scroll(function (){
$('.fadein').each(function(){
var elemPos = $(this).offset().top,
scroll = $(window).scrollTop(),
windowHeight = $(window).height();
if (scroll > elemPos - windowHeight + 150){
$(this).addClass('scrollin');
}
});
});