Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение скрипта при прокрутке до нужного места (https://javascript.ru/forum/dom-window/52196-vypolnenie-skripta-pri-prokrutke-do-nuzhnogo-mesta.html)

рони 10.03.2016 10:23

kick,
а пример полностью сможите сюда О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

assistant5599 03.12.2017 07:21

привет, всем.
у меня похожая проблема, нашел скрипт где кружочки и цифры крутятся как надо, только сразу как включишь страницу. Подскажите, что нужно сделать, что скрипт срабатывал после того, как человек до него "до крутит"?
вот ссылка на пример https://codepen.io/jasondavis/pen/MKJwgP/

рони 03.12.2017 09:47

radialIndicator and viewportchecker
 
assistant5599,
в теме есть примеры, у плагинов есть документация ... :(

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">p{
    height: 1000px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-viewport-checker/1.8.8/jquery.viewportchecker.min.js"></script>
  <script src="https://apollowebstudio.com/labs/js/sugarcrm-pm/js/radialIndicator.min.js"></script>
  <script>
$(function() {
$('#indicatorContainer').radialIndicator({ frameTime : 120,
  barColor: '#87CEEB',
  barWidth: 7,
  radius: 90, // width of circle
  initValue: 40,
  roundCorner: true,
  percentage: true
});

// Getting instance of radial Progress
var radialObj = $('#indicatorContainer').data('radialIndicator');
//now you can use instance to call different method on the radial progress.
//like

$('#indicatorContainer').viewportChecker({
        callbackFunction: function(elem, action){  
        radialObj.animate(60);
  }
});


});
  </script>
</head>

<body> <p></p>
<div class="" id="indicatorContainer"></div>
       <p></p>
</body>
</html>

assistant5599 07.12.2017 09:25

Спасибо большое за ответ, да еще и кодом. Только проблема еще нужно что бы было несколько кружков. Пробовал по разным способам(прочитанным в интернете) не получается. Помогите

Nexus 07.12.2017 09:48

assistant5599, "id" на "class" поменяйте и можете вставлять хоть 10 кружочков.

рони 07.12.2017 10:51

Цитата:

Сообщение от Nexus
"id" на "class"

можно код?

Цитата:

Сообщение от assistant5599
Пробовал по разным способам

какая проблема продублировать строки 17 - 35 с нужными вам параметрами?

Nexus 07.12.2017 11:07

Цитата:

Сообщение от рони
можно код?

Таки да, просто смены идентифицирующего атрибута не достаточно, однако это не является какой-то проблемой.
<!DOCTYPE html>

<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">p{height: 1000px;}</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-viewport-checker/1.8.8/jquery.viewportchecker.min.js"></script>
<script src="https://apollowebstudio.com/labs/js/sugarcrm-pm/js/radialIndicator.min.js"></script>
<script>
$(function(){

	$('.indicatorContainer').each(function(index){
		var $t=$(this);
		$t.radialIndicator({ 
			frameTime:120,
			barColor: '#87CEEB',
			barWidth: 7,
			radius:90, // width of circle
			initValue:40,
			roundCorner:true,
			percentage:true
		});
		$t.viewportChecker({
			callbackFunction:function(elem,action){  
				$(elem).data('radialIndicator').animate(60);
			}
		});
	});

});
</script>
</head>

<body>
	<p></p>
	<div class="indicatorContainer"></div>
	<div class="indicatorContainer"></div>
	<div class="indicatorContainer"></div>
	<p></p>
</body>
</html>

Eric77 16.05.2018 05:23

Замечательный пример. У меня похожая проблема. Только не могу понять как сделать разное значение у кружков(разные цифры). В скриптах особо не понимаю. Буду очень признателен за помощь.

Nexus 16.05.2018 10:02

Eric77, можно так попробовать (у меня сайт apollowebstudio не открывается, не могу проверить работоспособность):
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">p{height: 1000px;}</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-viewport-checker/1.8.8/jquery.viewportchecker.min.js"></script>
<script src="https://apollowebstudio.com/labs/js/sugarcrm-pm/js/radialIndicator.min.js"></script>
<script>
$(function(){

	$('.indicatorContainer').each(function(index){
		var $t=$(this);
		$t.radialIndicator({ 
			frameTime:120,
			barColor: '#87CEEB',
			barWidth: 7,
			radius:90, // width of circle
			initValue:40,
			roundCorner:true,
			percentage:true
		});
		$t.viewportChecker({
			callbackFunction:function(elem,action){  
				$(elem).data('radialIndicator').animate(elem.dataset.value);
			}
		});
	});

});
</script>
</head>

<body>
	<p></p>
	<div class="indicatorContainer" data-value="20"></div>
	<div class="indicatorContainer" data-value="40"></div>
	<div class="indicatorContainer" data-value="60"></div>
	<p></p>
</body>
</html>

рони 16.05.2018 10:25

radialIndicator или анимация чисел в зоне видимости
 
Nexus,
elem[0]
или так, ниже рабочий, немного откорректированный вариант, предложенный Nexus,

<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">p{height: 1000px;}</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-viewport-checker/1.8.8/jquery.viewportchecker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/radialIndicator/1.3.1/radialIndicator.min.js"></script>
<script>
$(function(){
    $('.indicatorContainer').each(function(index){
       var $t=$(this), value = $t.data('value');
       $t = $t.radialIndicator({
            frameTime:120,
            barColor: '#87CEEB',
            barWidth: 7,
            radius:90, // width of circle
            initValue: 0,
            roundCorner:true,
            percentage:true
        })
        .viewportChecker({ repeat: true,
            callbackFunction:function(elem,action){
                $t.value(0).animate(value);
            }
        }).data('radialIndicator');
    });

});
</script>
</head>

<body>
    <p></p>
    <div class="indicatorContainer" data-value="20"></div>
    <div class="indicatorContainer" data-value="40"></div>
    <div class="indicatorContainer" data-value="60"></div>
    <p></p>
</body>
</html>


Часовой пояс GMT +3, время: 02:03.