jquery - On click slidding out the current content and slide in a new one -
hi , thank time.
i have nav bar , couple of divs. when button clicked want slide current div left , out of page , slide in new div right.
i saw on page , want learn how done. know how use jquery , onclick animate left , fadeout cant return home position set ready clicked again.
so if there example how or if there tutorial please let me know. thank you
there many ways achieve effect found in site provided. below 1 implementation using jquery , css.
note jquery used here has not been abbreviated function logic exposed, can shorten code once you've familiarized it.
//the "slidein" , "slideout" classes being added css animations. please refer css code. $('.menu').click(function(){ $('.current').removeclass('slidein slideout').addclass('slideout').delay(100).removeclass('current'); }); $('.first').click(function(){ $('.slide-1').delay(100).addclass('slidein').fadein().delay(200).addclass('current'); }); $('.second').click(function(){ $('.slide-2').delay(100).addclass('slidein').fadein().delay(200).addclass('current'); }); $('.third').click(function(){ $('.slide-3').delay(100).addclass('slidein').fadein().delay(200).addclass('current'); }); $('.fourth').click(function(){ $('.slide-4').delay(100).addclass('slidein').fadein().delay(200).addclass('current'); });
.menu { float:left; padding:10px; border:1px solid black; cursor:pointer; } .content { position:fixed; width:80%; margin-left:10%; background:red; height:70px; margin-top:100px; display:none; text-align:center; font-weight:bold; color:white; padding-top:30px; transition: 0.3s ease; } .slideout { animation: slideout .7s forwards; } .slidein { animation: slidein 1s forwards; } @keyframes slideout { 0% { transform: translatex(0); opacity:1; } 80% { opacity:0; } 100% { transform: translatex(-80%); opacity:0; } } @keyframes slidein { 0% { transform: translatex(80%); opacity:0; } 100% { transform: translatex(0); opacity:1; } }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div class="menu first"> first! </div> <div class="menu second"> second! </div> <div class="menu third"> third! </div> <div class="menu fourth"> fourth! </div> <div class="content slide-1"> first div here! </div> <div class="content slide-2"> second div here! </div> <div class="content slide-3"> third div here! </div> <div class="content slide-4"> fourth div here! </div>
hope helps!
Comments
Post a Comment