Обратный отсчет от заданного числа с задержкой
Здравствуйте, необходимо, чтобы при прокрутке человеком к нужной части сайта, кол-во товаров уменьшалось, причем сначала на 2, затем через 3 секунды еще на 3, я использовал такой код
$(function() { var jqBar = $('#bar-1'); var jqBarStatus = true; $(window).scroll(function() { var scrollEvent = ($(window).scrollTop() > (jqBar.position().top - $(window).height())); if (scrollEvent && jqBarStatus) { jqBarStatus = false; var currentNumber = $('#dynamic-number').text(); $({numberValue: currentNumber}).animate({numberValue: 60}, { duration: 8000, easing: 'linear', step: function() { $('#dynamic-number').text(Math.ceil(this.numberValue)); } }); }} }); })как сделать, чтобы после того как отсчет дойдет до 60, через 3 секунды продолжился до 57 например? |
frost68,
$({numberValue: currentNumber}).animate({numberValue: 60}, { duration: 8000, easing: 'linear', step: function() { $('#dynamic-number').text(Math.ceil(this.numberValue)); } }).delay(3000).animate({numberValue: 57}, { duration: 8000, easing: 'linear', step: function() { $('#dynamic-number').text(Math.ceil(this.numberValue)); } }); |
Цитата:
|
Цитата:
$(function () { var jqBar = $('#bar-2'); // селектор для вашего блока var jqBarStatus = true; $(window).scroll(function() { var scrollEvent = ($(window).scrollTop() > (jqBar.position().top - $(window).height())); if (scrollEvent && jqBarStatus) { jqBarStatus = false; /* выполнение скрипта jqbar с определенными параметрами */ var currentNumber = $('#dynamic-number2').text(); $({numberValue: currentNumber}).animate({numberValue: 60}, { duration: 100, easing: 'linear', step: function() { $('#dynamic-number2').text(Math.ceil(this.numberValue)); } }); } }); });но там с цифры 63 моментально становиться цифра 61 и ничего не происходит |
Цитата:
Цитата:
|
затупил, поправил, но второй скрипт начинает срабатывать сразу после загрузки страницы, а не при пролистывании к этому элементу
|
|
Цитата:
|
Цитата:
|
В чем здесь ошибка? Суть в том, что если человек увидел обратный отсчет, то при перезагрузке страницы он видел только результат выполнения обратного отсчета, а если local storage пуст, то выполнялся обратный отсчет.
<div class="attention">По акции доступно <span id="dynamic-number3">63</span>!</div> <script> document.getElementById('dynamic-number3').onload = function() { if(document.getElementById('dynamic-number3')=== null) { localStorage.setItem('dynamic-number3', "57"); } else { localStorage.setItem('dynamic-number3', "63"); } } if (localStorage.getItem('dynamic-number3') == "63") { jqBarStatus = false; /* выполнение скрипта jqbar с определенными параметрами */ var currentNumber = $('#dynamic-number3').text(); $({numberValue: currentNumber}).animate({numberValue: 60}, { duration: 5000, easing: 'linear', step: function() { $('#dynamic-number2').text(Math.ceil(this.numberValue)); } }) </script> |
Часовой пояс GMT +3, время: 09:56. |