Анимация логотипа с интервалом

214
09 февраля 2020, 09:30

Код:

setInterval(function(){ 
  $('.navbar-brand').addClass('anim'); 
},2000); 
 
setInterval(function(){ 
  $('.navbar-brand').addClass('anim-b'); 
},7000); 
 
setInterval(function(){ 
  $('.navbar-brand').removeClass('anim anim-b'); 
},10000);
@import url(https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css); 
 
.navbar-brand { 
  display: flex; 
  align-items: center; 
} 
 
.navbar-brand>img { 
  width: 40px; 
} 
 
.navbar-brand>span { 
  display: block; 
  width: calc(100% -40px); 
} 
 
.anim.navbar-brand>img { 
    animation: flip 2s ease-in-out both; 
} 
 
.anim-b.navbar-brand>img { 
    animation: flipOut 2s ease-in-out both; 
} 
 
@keyframes flip { 
    0% { 
      transform: rotateY(0deg);   
    } 
    100% { 
      transform: rotateY(180deg);   
    } 
} 
 
 
@keyframes flipOut { 
    0% { 
        transform: rotateY(180deg);   
    } 
    100% { 
        transform: rotateY(0deg);   
    } 
} 
 
 
 
.anim.navbar-brand span {     
    animation: l 2s ease-in-out both; 
} 
 
 
.anim-b.navbar-brand span {     
    animation: lOut 2s ease-in-out both; 
} 
 
 
 
 
 
@keyframes l { 
    0% { 
        opacity: 0; 
        transform: translateX(100%); 
    } 
    100% { 
        opacity: 1; 
        transform: translateX(0%); 
    } 
} 
 
 
 
@keyframes lOut { 
    0% { 
        opacity: 1; 
        transform: translateX(0%); 
    } 
    100% { 
        opacity: 0; 
        transform: translateX(100%); 
    } 
}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script> 
 
  <nav class="navbar navbar-expand-lg navbar-light bg-light"> 
    <a class="navbar-brand" href="#"> 
      <img src="http://simpleicon.com/wp-content/uploads/rocket.svg" alt=""> 
      <span>Navbar</span> 
    </a> 
  </nav>

Вопрос: Как правильно задать добавление\удаление класса для анимации логотипа, так чтобы через секунду произошел флик ракеты и появился текст, через 3-4 секунды обратный флип и исчезновение текста ... через секунд 5 - повтор? Сейчас происходит "заикание", видимо наложение времени.

Answer 1
setInterval(function(){
  setTimeout(function(){
    $('.navbar-brand').addClass('anim');
  },2000);
  setTimeout(function(){
    $('.navbar-brand').addClass('anim-b');
  },7000);
  setTimeout(function(){
    $('.navbar-brand').removeClass('anim anim-b');
  },10000);
},10000);
READ ALSO
Cделать меню адаптивным в карусельке Bootstrap

Cделать меню адаптивным в карусельке Bootstrap

Нужно сделать меню и текст адаптивным и сохранить в том же порядке что он сейчас( текст ровно между кнопок скрола и меню именно вверху в карусельке),...

225
Криво загружается меню на сайте

Криво загружается меню на сайте

Проблема в том, что при загрузке сайта на некоторое время до полной загрузки меню без стилей появляется в верхнем левом углуВ чем могут быть...

237