Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Увеличение числа через заданный промежуток времени (https://javascript.ru/forum/misc/43375-uvelichenie-chisla-cherez-zadannyjj-promezhutok-vremeni.html)

gambit88 03.12.2013 15:55

Увеличение числа через заданный промежуток времени
 
Добрый день, уважаемые форумчане.

Встала такая задача: есть элемент <span id="cash" class="red b8price">15 512 350</span>, находится он в середине страницы, т.е. около 2ух экранов прокрутки, нужно написать скрипт который начинает увеличивать число на 700 каждые 15 секунд, в момент когда пользователь прокрутил экран до этого участка страницы.

Буду признателен за помощь.

gambit88 03.12.2013 16:27

собственно проблема в том, что у меня просто не хватает знаний для реализация, думаю логика скрипта довольно проста, определить уровень страницы через anchor с условием что если страница на определенном уровне, через setTimeout получить элемент через id и произвести его инкремент, собственно по этой логике и пытаюсь сварганить нечто удобоваримое, но проблема в том, что нужно срочно, а с моим уровнем синтаксиса JS я зависну дня на 2.... спасибо

Maxmaxmaximus3 03.12.2013 21:06

тебе стоит разобраться с jQuery
это библиотека для тех кто не умеет программировать сайты но сайт сделать надо

gambit88 04.12.2013 01:28

Цитата:

Сообщение от Maxmaxmaximus3 (Сообщение 284321)
тебе стоит разобраться с jQuery
это библиотека для тех кто не умеет программировать сайты но сайт сделать надо

спасибо конечно за совет, правда пользы в нем значительно меньше чем нужно было бы, эту библиотеку, я действительно сейчас изучаю, равно как и js, но вопроса в сабже это не отменяет, мне нужно реализовать скрипт, с чем сложность и возникла

gambit88 04.12.2013 13:37

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

Дан блок
<div id="b8left">
						<h3>Наши результаты</h3>
						<div id="b8bonus1" class="b8block">
							<span id="cash" class="red b8price">15 512 350</span>
							<p><span class="red">рублей</span> заработано<br />
							нашими клиентами<br />
							благодаря лидам</p>
						</div>
						
						<div id="b8bonus2" class="b8block">
							<span class="red b8price">103</span>
							<p><span class="red">лейдинга</span> <br />
							создано<br />
							для 31 ниши</p>
						</div>
						
						<div id="b8bonus3" class="b8block">
							<span id="order" class="red b8price">2548</span>
							<p><span class="red">заказа</span> <br />
							получили<br />
							клиенты</p>
						</div>
						<div class="clr"></div>
						
						<p id="b8slogan">Пока Вы читаете,<br />
							<span class="red">эта цифра увеличилась.</span><br />
							Лид – это Ваши продажи.</p>
					</div>


необходимо чтобы когда пользователь дошел до этого блока, начал работать счетчик, который:
- количество рублей увеличивал на 700+рандомное число до 1500, каждые 15 секунд
-количество заказов увеличивал на 1 + рандомное число до 3 каждые 15 секунд
-количество лендингов увеличивал на +1 при каждом наведении на это число

<script type="text/javascript">
var intercash,interorder,intebonus;	

	$(document).ready(function(){


		$(document).scroll(function(e){
			clearInterval(intercash);
			clearInterval(interorder);
			if(
				$("#b8").offset().top-$(window).height() < $(document).scrollTop() &&
				$(document).scrollTop() < $("#b8").offset().top+$("#b8").height()
			)
			{
				intercash = setInterval(
					function(){
						cash = $("#cash").text().replace(/\s/g, '');
						cash = parseInt(cash);
						cash += 700+Math.round(Math.random()*1500);
						cash = cash.toString(); 
						$("#cash").text(cash.substr(0,2)+" "+cash.substr(2,3)+" "+cash.substr(5,3));
					},
					12000
				);
				
				
				interorder = setInterval(
					function(){
						order = $("#order").text()
						order = parseInt(order);
						order += 1+Math.round(Math.random()*3);
						$("#order").text(order);
					},
					15000
				);
			}
		});

		$("#b8bonus2").hover(
			function(){
				price = $("#b8bonus2 .b8price").text();
				price = parseInt(price);
				price += 1;
				price = price.toString(); 
				$("#b8bonus2 .b8price").text(price);
			},
			function(){
				clearInterval(intebonus);
			}
		);

	
		});

		</script>


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