За последние 24 часа нас посетили 16892 программиста и 1178 роботов. Сейчас ищут 1488 программистов ...

Анимация цифр на сайте

Тема в разделе "JavaScript и AJAX", создана пользователем max74max, 30 июн 2023.

  1. max74max

    max74max Активный пользователь

    С нами с:
    2 дек 2020
    Сообщения:
    26
    Симпатии:
    1
    Здравствуйте! Подскажите, пожалуйста. Делаю анимацию цифр (отсчет от нуля до определенного значение) при показе определенного блока на сайте.
    Но проблема в том, что когда цифры доходят до конца, то начинается обратный отсчет. Как сделать чтобы не было обратного отсчета?
    И вторая проблема в том, что отчет останавливается, если начать переключать вкладки браузера во время анимации цифр.

    HTML:
    1. <div id="start_counter">
    2. <h1 class="anim">100</h1>
    3. </div>
    Код (Javascript):
    1. var start_counter = document.getElementById("start_counter");
    2.  
    3. document.onscroll = function() {
    4. var top = start_counter.getBoundingClientRect().top;
    5. var heightScreen = document.documentElement.clientHeight;
    6. var body = document.querySelector("body");
    7. var g = top - heightScreen;
    8. if (g <=0){
    9. $(document).ready(function() {
    10.   $('.anim').each(function() {
    11.     $(this).prop('CounterUp', 0).animate({
    12.     CounterUp: $(this).text()
    13.     }, {
    14.     duration: 5000,
    15.     easing: 'swing',
    16.     step: function(number) {
    17.     $(this).text(Math.ceil(number));
    18.       }
    19.     });
    20.   });
    21. });
    22. }
    23. }