css - Don't start animation until in view -
i wondering how stop animation starting until has been scrolled in full view. using plugin, animate.css dan eden animate elements. have added animation , works need know how make start once in full view.
this code element have animated using class:
<div class="animated fadeinup" id="enter-title"><img src="/images/welcome-text/enter.png" width="473" height="227"/></div> this animation code:
@-webkit-keyframes fadeinup { 0% { opacity: 0; -webkit-transform: translatey(20px); } 100% { opacity: 1; -webkit-transform: translatey(0); } .animated.fadeinup { -webkit-animation-name: fadeinup; -moz-animation-name: fadeinup; -o-animation-name: fadeinup; animation-name: fadeinup; }
if you're looking hold animation until image scrolled view use little jquery so:
jquery
$(window).scroll(function () { var y = $(window).scrolltop(), x = $('.animated').offset().top - 200; if (y > x) { $('.animated').addclass('fadeinup').removeclass('fadeoutdown'); } else { $('.animated').removeclass('fadeinup').addclass('fadeoutdown'); } }); css
.animated { -webkit-animation-fill-mode:both; -moz-animation-fill-mode:both; -ms-animation-fill-mode:both; -o-animation-fill-mode:both; animation-fill-mode:both; -webkit-animation-duration:1s; -moz-animation-duration:1s; -ms-animation-duration:1s; -o-animation-duration:1s; animation-duration:1s; opacity:0; /*** important bit ***/ } .animated.hinge { -webkit-animation-duration:2s; -moz-animation-duration:2s; -ms-animation-duration:2s; -o-animation-duration:2s; animation-duration:2s; } @-webkit-keyframes fadeinup { 0% { opacity: 0; -webkit-transform: translatey(20px); } 100% { opacity: 1; -webkit-transform: translatey(0); } } @-moz-keyframes fadeinup { 0% { opacity: 0; -moz-transform: translatey(20px); } 100% { opacity: 1; -moz-transform: translatey(0); } } @-o-keyframes fadeinup { 0% { opacity: 0; -o-transform: translatey(20px); } 100% { opacity: 1; -o-transform: translatey(0); } } @keyframes fadeinup { 0% { opacity: 0; transform: translatey(20px); } 100% { opacity: 1; transform: translatey(0); } } .fadeinup { -webkit-animation-name: fadeinup; -moz-animation-name: fadeinup; -o-animation-name: fadeinup; animation-name: fadeinup; } @-webkit-keyframes fadeoutdown { 0% { opacity: 1; -webkit-transform: translatey(0); } 100% { opacity: 0; -webkit-transform: translatey(20px); } } @-moz-keyframes fadeoutdown { 0% { opacity: 1; -moz-transform: translatey(0); } 100% { opacity: 0; -moz-transform: translatey(20px); } } @-o-keyframes fadeoutdown { 0% { opacity: 1; -o-transform: translatey(0); } 100% { opacity: 0; -o-transform: translatey(20px); } } @keyframes fadeoutdown { 0% { opacity: 1; transform: translatey(0); } 100% { opacity: 0; transform: translatey(20px); } } .fadeoutdown { -webkit-animation-name: fadeoutdown; -moz-animation-name: fadeoutdown; -o-animation-name: fadeoutdown; animation-name: fadeoutdown; } i added additional animation fade image out when scroll up, optional, think makes nice effect.
Comments
Post a Comment