Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2016, 16:07
Аватар для Kiano
Интересующийся
Отправить личное сообщение для Kiano Посмотреть профиль Найти все сообщения от Kiano
 
Регистрация: 09.06.2014
Сообщений: 28

Подгрузка при прокрутке страницы
Всем привет!

Исходник: https://jsfiddle.net/mxjj6jom/707/

Нужно, чтобы круговая диаграмма активировалась при прокрутке на видимой области экрана.

p/s/ в благодарность могу закинуть денег на телефон или я.деньгами перечислить.

Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2016, 08:42
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

position:fixed;
left:50%;
top:50%;

размерами можно пренебречь
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2016, 09:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от warren buffet
position:fixed;
left:50%;
top:50%;
Не факт, что за это ТС тебе "закинет денег"...
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2016, 10:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

однократная анимация в зоне видимости
Kiano, пример проскролить вниз до блока ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
#container {
  margin: 20px;
  width: 200px;
  height: 200px;
}

p{
  height: 2000px;
}

  </style>
  <script type="text/javascript" src="https://rawgit.com/kimmobrunfeldt/progressbar.js/1.0.0/dist/progressbar.js"></script>

  <script>
document.addEventListener("DOMContentLoaded", vis, false);

function vis() {
    var div = document.querySelector("#container");
    var bar = new ProgressBar.Circle(div, {
        strokeWidth: 6,
        easing: "easeInOut",
        duration: 1400,
        color: "#FFEA82",
        trailColor: "#eee",
        trailWidth: 1,
        svgStyle: null
    });

    function anim() {
        var top = div.getBoundingClientRect().top;
        if (top > 0 && top < window.innerHeight) {
            bar.animate(1);
            window.removeEventListener("scroll", anim)
        }
        window.addEventListener("scroll", anim, false)
    }
    anim()
};
  </script>
</head>

<body>
<p></p>
<div id="container"></div>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2016, 13:02
Аватар для Kiano
Интересующийся
Отправить личное сообщение для Kiano Посмотреть профиль Найти все сообщения от Kiano
 
Регистрация: 09.06.2014
Сообщений: 28

рони, спасибо, что отписался!
Ответил в ЛС
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2016, 13:11
Аватар для Kiano
Интересующийся
Отправить личное сообщение для Kiano Посмотреть профиль Найти все сообщения от Kiano
 
Регистрация: 09.06.2014
Сообщений: 28

upd:

Если поставить ещё два контейнера, то они пустые.Можно ли решить эту задачу?
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2016, 14:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

однократная анимация блоков в зоне видимости
Kiano,
замените id на class
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
.container {
  margin: 20px;
  width: 200px;
  height: 200px;
}

p{
  height: 2000px;
}

  </style>
  <script type="text/javascript" src="https://rawgit.com/kimmobrunfeldt/progressbar.js/1.0.0/dist/progressbar.js"></script>

  <script>
document.addEventListener("DOMContentLoaded", vis, false);

function vis() {
    var div = [].slice.call(document.querySelectorAll(".container"), 0);
    div = div.map(function(el) {
        return {
            el: el,
            bar: new ProgressBar.Circle(el, {
                strokeWidth: 6,
                easing: "easeInOut",
                duration: 1400,
                color: "#FFEA82",
                trailColor: "#eee",
                trailWidth: 1,
                svgStyle: null
            })
        }
    });

    function anim() {
        div = div.filter(function(el, i) {
            var top = el.el.getBoundingClientRect().top;
            console.log(top);
            if (top > 0 && top < window.innerHeight) {
                el.bar.animate(1);
                return false
            }
            return true
        });
        !div.length && window.addEventListener("scroll", anim, false)
    }
    window.addEventListener("scroll", anim, false);
    anim()
};
  </script>
</head>

<body>
<p></p>
<div class="container"></div>
<p></p>
<div class="container"></div>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть меню при прокрутке страницы alexander098 jQuery 0 13.01.2016 17:41
Исчезающая шапка при прокрутке страницы russia091 Элементы интерфейса 24 05.11.2015 13:28
Отправка формы при загрузке страницы Shimmy AJAX и COMET 4 26.11.2013 14:51
Автозапуск скрипта при загрузке страницы HepoH Javascript под браузер 3 31.03.2012 22:27
При достижении низа страницы prokopoffmusic jQuery 0 21.06.2011 04:52