Как сделать задержку в 5 секунд после нажатия по баннеру?
Проблема в том что бонус срабатывает сразу при клике по div и люди не переходят по баннеру до полной загрузки страницы а просто скипают.
Нужна задержка в 5 секунд и верху браузера document.title показывал отчет таймера, а после срабатывала выдача бонуса. Я плохо понимаю как это делать, подскажите поподробнее с примером!
Вот та часть кода по которой кликают по баннеру mav_bonus_item, ссылку не трогаем там все нормально.
<?php if($val['SAddDate'] === 0) { ?>
<?php if((int)$val['Type'] === 2) { ?><br />
<a class="btn btn-success" href="/earn/bonus?bonus_click_ml=<?php echo $val['Id']; ?>"><?php echo "{$val['PriceOt']} - {$val['PriceDo']} "; ?> руб</a><br />
<?php } else { ?>
<div class="mav_bonus_item" data-id="<?php echo $val['Id']; ?>" style="display: inline-block;">
<?php echo $val['Code']; ?>
</div>
<?php } ?>
Вот скрипт:
<script>
$(document).ready(function(){
$('.mav_bonus_item a').attr('target','_blank');
$('.mav_bonus_item').click(function(event) {
var el = $(this);
el.html('<div class=""><i class="fa fa-5x fa-fw fa-pulse fa-spinner text-danger"></i></div>');
$.ajax({
url: document.location.href,
type: "POST",
dataType: 'json',
data: {bonus_click:el.data('id')},
success: function(d){
if (d.ok) {
el.replaceWith(d.amount);
}
else
el.html('<div class="alert alert-danger"><strong>Произошла ошибка :( Перезагрузите страницу.</strong></div>');
},
error: function(){el.html('<div class="alert alert-danger"><strong>Произошла ошибка :( Перезагрузите страницу.</strong></div>')}
});
});
});
</script>