Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.01.2017, 20:56
Новичок на форуме
Отправить личное сообщение для antonenkoab Посмотреть профиль Найти все сообщения от antonenkoab
 
Регистрация: 02.01.2017
Сообщений: 5

Спасибо за ответ и интересное решение!
Но, нельзя ли даную задачу выполнить иначе, а именно изменив лишь код javascript?
А с помощью css, может, только задать числам горизонтальное расположение, а не вертикальное как сейчас, то есть расположить их в одну строку.
Ответить с цитированием
  #12 (permalink)  
Старый 04.01.2017, 22:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

анимация чисел в зоне видимости jquery
antonenkoab,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .number{
    float:  left;
    width: 100px;
    font-size: 22px;
    line-height: 44px;
    color: #FFFFFF;
    background-color: #8B4513;
    text-align: center;
    margin-right: 30px;
   }
  p{
    height: 2000px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var num = $(".number");
    num.each(function(indx, el) {
        var max = $(el).data("max");
        var duration = 5000;
        var visibility = checkViewport(el);
        $(el).on("animeNum", function() {
            $({n: 0}).animate({n: max}, {
                easing: "linear",
                duration: duration,
                step: function(now, fx) {
                    $(el).html(now | 0)
                }
            })
        }).data("visibility", visibility);
        visibility && $(el).trigger("animeNum")
    });

    function checkViewport(el) {
    var H = document.documentElement.clientHeight,
        h = el.scrollHeight,
        pos = el.getBoundingClientRect();
        return pos.top + h > 0 && pos.bottom - h < H
    }
    $(window).scroll(function() {
        num.each(function(indx, el) {
            var visibility = checkViewport(el);
            el = $(el);
            var old = el.data("visibility");
            old != visibility && el.data("visibility", visibility) && !old && el.trigger("animeNum")
        })
    })
});
  </script>
</head>

<body>
<p></p>
<div class="number" data-max="3">0</div>
<div class="number" data-max="40">0</div>
<div class="number" data-max="400">0</div>
<p></p>
</body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 05.01.2017, 10:54
Новичок на форуме
Отправить личное сообщение для antonenkoab Посмотреть профиль Найти все сообщения от antonenkoab
 
Регистрация: 02.01.2017
Сообщений: 5

Здорово! Спасибо! Наверное таки следует изучать jquery .
А, все-таки, для приверженцев писать код на чистом javascript, как такое повторить без использования библиотек на подобие jquery?
Ответить с цитированием
  #14 (permalink)  
Старый 05.01.2017, 11:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от antonenkoab
А, все-таки, для приверженцев писать код на чистом javascript, как такое повторить без использования библиотек на подобие jquery?
вы наверно пост №10 не заметили
Ответить с цитированием
  #15 (permalink)  
Старый 05.01.2017, 11:20
Новичок на форуме
Отправить личное сообщение для antonenkoab Посмотреть профиль Найти все сообщения от antonenkoab
 
Регистрация: 02.01.2017
Сообщений: 5

Заметил. Я на пост №10 тоже писал комментарий. Извините, я наверное многого хочу.

Последний раз редактировалось antonenkoab, 05.01.2017 в 11:30.
Ответить с цитированием
  #16 (permalink)  
Старый 05.01.2017, 12:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

antonenkoab,
чем пост №10 не устроил?
Ответить с цитированием
  #17 (permalink)  
Старый 05.01.2017, 13:17
Новичок на форуме
Отправить личное сообщение для antonenkoab Посмотреть профиль Найти все сообщения от antonenkoab
 
Регистрация: 02.01.2017
Сообщений: 5

Сообщение от рони Посмотреть сообщение
antonenkoab,
чем пост №10 не устроил?
У меня никак не получается переделать код из поста №10 так, чтобы получился результат как в посте №12. Знаний и ума тут у меня не хватает, вот и надеюсь на доброго человека.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление/исчезновение элемента при прокрутке страницы JQuery 0leg9 Общие вопросы Javascript 37 21.09.2017 07:41
Загрузка "хвоста" страницы при прокрутке из внешних файлов. Begoian Events/DOM/Window 10 23.01.2014 19:53
Прижимание блока при прокрутке страницы byFahrenheit Общие вопросы Javascript 2 14.01.2013 14:03
Фиксация объекта при скрулинге страницы Pashok(one) Общие вопросы Javascript 10 08.01.2013 02:52
Случайное число при перезагрузке страницы logi Общие вопросы Javascript 8 21.10.2011 15:47