Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2014, 08:45
Новичок на форуме
Отправить личное сообщение для Asqes Посмотреть профиль Найти все сообщения от Asqes
 
Регистрация: 03.06.2014
Сообщений: 1

Не останавливается прогон счетчика
Здравствуйте, нужна небольшая помощь.
У меня на сайте есть скрипт который должен прогонять цифры от 0 до 95% при попадании в поле экрана. Он их прогоняет, но останавливаться на 95% хочет. Помогите с реализацией.


var decimal_places = 1;
  var decimal_factor = decimal_places === 0 ? 1 : decimal_places * 1;
$(window).scroll(function () {
    if( $(this).scrollTop() >= $( '#sur' ).offset().top ) {
      $('#target3').animateNumber({
          number: 37,
     
          numberStep: function(now, tween) {
            var floored_number = Math.floor(now),
                target = $(tween.elem);
            target.text(floored_number);
          }
        },
        5000
      );
    }
});

Последний раз редактировалось Asqes, 03.06.2014 в 12:13.
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2014, 12:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Видимость запуск счётчика
Asqes,
Вариант запуска счётчика при видимости на экране -- без jquery
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
 #target3 {
    width: 120px;
    height: 40px;
    padding: 10px;
    background: #000;
    font: bold 35px Arial;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 500px;
}
</style>
</head>
<body style="height: 2000px; width: 2000px">
<span id="target3" class="free">TEST</span>
<script>
	function number_to(id, from, to, duration)
	{
	  var element = document.getElementById(id);
	  window.clearTimeout(element.timer);
	  var start = new Date().getTime();
	  setTimeout(function go()
	    {
	      var now = (new Date().getTime()) - start;
	      var progress = now / duration;
	      var result = Math.floor((to - from) * progress + from);
	      element.innerHTML = progress < 1? result: to;
	      element.innerHTML += ' %';
	      if (progress < 1) element.timer = setTimeout(go, 10)
	    }, 10
	  );
	}
	var elem = document.getElementById('target3')
	window.onscroll = function() {
	  if (checkViewport('target3')) {
	    if(elem.classList.contains('free')) {
	      elem.classList.remove('free')
	      number_to("target3", 0, 95, 2000);
	    }
	    // выполнится если элемент хотя бы частично видно
	    document.title = 'Элемент видно';
	    document.body.style.backgroundColor = 'red';
	  } else {
	    //выполнится если элемент за пределами видимости
	    elem.classList.add('free')
	    document.title = 'Элемент не видно';
	    document.body.style.backgroundColor = 'white';
	  }
	}
	function checkViewport(id) {
	  var $myElement = document.getElementById(id),
	  landmark = $myElement.getBoundingClientRect(),
	  visibility = landmark.top + $myElement.scrollHeight > 0 && landmark.left + $myElement.scrollWidth > 0 && landmark.bottom - $myElement.scrollHeight < document.documentElement.clientHeight && landmark.right - $myElement.scrollWidth < document.documentElement.clientWidth
	  return visibility
	}
    window.onscroll()
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не останавливается работа setInterval saves7 Общие вопросы Javascript 8 30.04.2014 18:04
Вывод содержимого ячейки массива = значению счетчика cccp.world Events/DOM/Window 5 30.10.2013 09:06
скрипт счетчика кликов для сайта uCoz Georgoren Элементы интерфейса 0 24.02.2013 19:42
Скрипт счетчика тормозит когда вделаю страницу активной denisOgr jQuery 1 30.10.2011 16:15
Принцип работы счетчика liveinternet paveljava5 Общие вопросы Javascript 5 02.08.2010 11:53