У меня есть кнопка, которая запускает следующий слайд/раздел сайта. Однако перед тем, как перейти на следующую панель, я хочу, чтобы кнопка отображала тик, чтобы показать пользователю то, что они выбрали, а затем загрузить на следующем слайде.
Вот мой HTML:
<button class="pt-trigger" data-animation="1" data-goto="-1">Go to next page</button>
Вот мой jquery:
$('.pt-trigger').click(function() {
$(this).find('.tick').fadeIn('slow');
$pageTrigger = $(this);
Animate($pageTrigger);
});
И вот мой CSS:
.tick {
position: absolute;
right: 5px;
top: -2px;
font-size:19px;
display:none;}
.pt-trigger {
background:none;
border: none;
font-size: 25px;
margin: 10px 0 10px;
padding: 15px 0px;
line-height: 40px;
cursor: pointer;
display: block;
font-family:Arial,sans-serif;
font-weight:normal;
border:1px solid #fff;
color:#fff;
width:262px;
text-align:center;
position:relative;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
float:left;}
Вот и скрипка.
Обновление: как создать задержку перед анимацией слайдов?
$('.pt-trigger').click(function() {
$(this).find('.tick').fadeIn(900, function() {
$pageTrigger = $('.pt-trigger').delay(3000);
Animate($pageTrigger);
});
});
.fadeIn() принимает обратный вызов как второй параметр. Передайте анонимную функцию, которая будет выполнена после завершения анимации.
Будьте осторожны, чтобы не столкнуться с проблемами контекста.
$('.pt-trigger').click(function() {
$(this).find('.tick').fadeIn('slow', function() {
//do stuff after the animation is complete
});
});
То, что вы хотите сделать, - это оживить вашу страницу в функции callback
вашей анимации tick
.
$('.pt-trigger').on('click', function() {
$(this).find('.tick').fadeIn('slow', function() {
// I am a callback function
// that runs after .tick loads
// do animation now, etc.
});
});