scroll-slidein
HTML
<div class="scroll-space">
<div class="slidein slidein-left blue">
左からスライドイン
</div>
<div class="slidein slidein-right pink">
右からスライドイン
</div>
<div class="slidein slidein-up yellow">
上からスライドイン
</div>
<div class="slidein slidein-bottom green">
下からスライドイン
</div>
</div>
SCSS
.scroll-space{
box-sizing: border-box;
padding-top: 300px;
height: 1600px;
color: #fff;
.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;
}
}
.slidein {
opacity: 0;
transform: translate(0,0);
transition: all 1.0s;
&.slidein-left{
transform: translate(-100%,0);
}
&.slidein-right{
transform: translate(100%,0);
}
&.slidein-up{
transform: translate(0,-100%);
}
&.slidein-bottom{
transform: translate(0,100%);
}
&.scrollin{
transform: translate(0, 0)!important;
opacity: 1!important;
}
}
JavaScript
$(window).scroll(function (){
$('.slidein').each(function(){
var elemPos = $(this).offset().top,
scroll = $(window).scrollTop(),
windowHeight = $(window).height();
if (scroll > elemPos - windowHeight + 150){
$(this).addClass('scrollin');
}
});
});