2016-05-18 2 views
1

Поскольку smoothState.js никогда не работал для меня по какой-то причине, я пытаюсь что-то сделать самостоятельно, просто проще.Delaying page transitioning

Вопрос: Как я могу отложить переход по умолчанию, так что он начинается после окончания анимации css, pref. не предварительно загружая другую страницу, так как она начнется с анимации fadeIn. Im это далеко.

JQuery

$(document).ready(function() { 
$("a").click(function(e) { 
    e.preventDefault(); 
    var href = $(this).attr('href'); 
    $(body).addClass("lightSpeedOut")(function(){ 
    window.location = href; 
    }); 
}); 
}); 

И HTML здесь

<div class="container-fluid"> 
    <div class="row"> 
     <div class="col-xs-3 no-padding"> 
      <img src="img/t-cover.jpg" class="img-responsive-cover" alt="girl in a white top" /> 
      <div class="overlay"> 
       <h2>Tops & T-Shirts</h2> 
       <p><a href="html/tops.html"> Enter the world of Isabel Marant, Alice and Olivia and more...</a></p> 
      </div> 
     </div> 
    </div> 
</div> 

ответ

1

Дождитесь события анимации до конца затем перенаправляет пользователя.

var ANIMATION_END = 'animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oAnimationEnd'; 

$('body').addClass('lightSpeedOut').one(ANIMATION_END, function() { 
    window.location = href; 
}); 
+0

кажется легче, чем то, что я вижу в сети в другом месте, но у меня другая проблема. если я добавлю ваш (или даже мой собственный код, который я написал выше), ничего не происходит, если я нажму ссылку. если я удаляю последнюю часть функции, она выполняет переход по умолчанию. похоже, не видит, где это происходит. https://plnkr.co/edit/PowFwgszTk9Z2ZdR70Gd?p=preview – Limitless

+0

Возможно, я неправильно понял, но моя интерпретация вашего вопроса и то, что вы пытались достичь, было: _ Я запускаю анимацию и хочу перенаправить после этой анимации завершено. – hungerstar

+0

Да, но, как вы видите на скрипке, ничего не происходит после того, как я нажму ссылку. не перенаправлять анимацию. – Limitless