Я пытаюсь перенаправить якорный тег, как только закончится анимация CSS. Я попытался захватить href в jQuery и использовать «setTimeout», чтобы вызвать задержку перед тем, как перейти в место привязки (это то, что было рекомендовано в предыдущих потоках), но оно не работает.Как задержать гиперссылку до окончания анимации CSS?
$(document).ready(function() {
$('.section').click(function() {
var goTo = this.getAttribute("href"); //HOLDS HREF
var $elementA = $('.section').bind('webkitAnimationEnd', function() //ANIMATION BEGIN
{
$(this).removeClass('clicked');
});
var $elementB = $('.section').bind('animationend', function() {
$(this).removeClass('clicked');
});
$('.section').click(function() {
$(this).addClass('clicked'); //ANMATION END
});
setTimeout(function() { //SUPPOSED TO DELAY LINK
window.location = goTo;
}, 300);
});
});
a {
overflow: hidden;
}
.section {
background-color: teal;
position: absolute;
width: 200px;
height: 200px;
box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, .4);
}
.response {
position: relative;
top: 75px;
left: 80px;
width: 40px;
height: 40px;
border-radius: 500px;
background-color: #f5f5f5;
transition: .05s ease-out;
opacity: 0;
}
.clicked {
animation: event 1.4s;
}
.clicked > .response {
animation: response 1.6s;
}
@keyframes event {
0% {
box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, 0.4);
}
20% {
box-shadow: 0px 9px 14px 0px rgba(50, 50, 50, 0.6);
}
100% {
box-shadow: 0px 3px 3px 0px rgba(50, 50, 50, 0.4);
}
}
@keyframes response {
0% {}
16% {
opacity: .7;
}
32% {
opacity: 0;
}
40% {
opacity: 0;
transform: scale(10);
}
100% {
opacity: 0;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="section">
<div class="response"></div>
</a>
Отлично! Спасибо! – Calisto