Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Имитация нажатия кнопки (https://javascript.ru/forum/events/31699-imitaciya-nazhatiya-knopki.html)

Mukhtar 17.09.2012 15:36

Имитация нажатия кнопки
 
Добрый вечер.
У меня проблема...
Есть 4 ссылки такого типа...
<ul class="switch-buttons">
						<li><a class="current js-toggle" data-card-title="Бизнес-карта" href="#business-card">1</a></li>
						<li><a class="js-toggle" data-card-title="О Бизнесе" href="#description-card">2</a></li>
						<li><a class="js-toggle" data-card-title="Медиаконтент" href="#media-card">3</a></li>
						<li><a class="js-toggle" data-card-title="Местоположение" href="#location-card">4</a></li>
					</ul>

Также есть функция на нажатие...
$(".js-toggle").click()
Мне нужно, чтобы каждые 7 секунд скрипт нажимал на ссылки одну за другой...
Я пишу
setInterval(function(){$(".js-toggle").click()},7000);


Но он сразу нажимает на все 4... Как сделать чтобы он нажал на вторую, подождал 7 секунд, потом на 3, 7 секунд и на 4, 7 сек. и на 1 и заново... Спасибо

Mukhtar 17.09.2012 18:40

:-/ хмммм, странная тишина... Неужели никто не знает?

dmitriymar 17.09.2012 18:46

Цитата:

Сообщение от Mukhtar
хмммм, странная тишина... Неужели никто не знает?

поиск по сайту-ты 20й за месяц с этой темой

Mukhtar 17.09.2012 19:06

Цитата:

Сообщение от dmitriymar (Сообщение 205189)
поиск по сайту-ты 20й за месяц с этой темой

Спасибо, мил человек... ))))

Mukhtar 17.09.2012 19:16

Цитата:

Сообщение от dmitriymar (Сообщение 205189)
поиск по сайту-ты 20й за месяц с этой темой

Там вообще не то... В основном сабмит формы, или переход на другие страницы. А тут другое совсем. И там просят сделать только одно нажатие, а у меня постоянно каждые 7 секунд нажимать надо! )))))

cyber 17.09.2012 19:21

хотел промолчать, но все таки скажу :
Черт, почему нельзя написать так код что бы потом не использовать костыль click ? почему нельзя сделать отдельные функции которые поставить в обработчики ссылок и которые будут вызываться в таймере? (ИМХО)

Mukhtar 17.09.2012 19:26

Цитата:

Сообщение от cyber (Сообщение 205205)
хотел промолчать, но все таки скажу :
Черт, почему нельзя написать так код что бы потом не использовать костыль click ? почему нельзя сделать отдельные функции которые поставить в обработчики ссылок и которые будут вызываться в таймере? (ИМХО)

Уважаемый, просто там есть другие события которые уже не я писал... И я пытаюсь теперь усовершенствовать то, что написал другой человек, и боюсь я портить то, что было уже написано, вот и мучаюсь. Ну помогите мне?! :help:

cyber 17.09.2012 19:29

Цитата:

Сообщение от Mukhtar (Сообщение 205207)
Уважаемый, просто там есть другие события которые уже не я писал... И я пытаюсь теперь усовершенствовать то, что написал другой человек, и боюсь я портить то, что было уже написано, вот и мучаюсь. Ну помогите мне?! :help:

обработчик к ссылкам привязан через всплытие?

Mukhtar 17.09.2012 19:35

Цитата:

Сообщение от cyber (Сообщение 205209)
обработчик к ссылкам привязан через всплытие?

В общем когда нажимаешь на эти ссылки, меняются дивы с помощью fadeIn и fadeOut
Я хочу с имитировать нажатия на каждую из ссылок с интервалом 7 секунд.

bes 17.09.2012 20:42

<style>
div {
	border: solid 1px green;
	height: 100px;
	background: lightgrey;
}
</style>

<div id="div1">1</div>
<div></div>
<div id="div2">2</div>
<br><br>
<div id="div3">3</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<script>
window.onload = function () {
	var mas = ['div1', 'div2', 'div3'];
	var len = mas.length;
	var n = 0;
	setInterval(function () {
		if (n == len) {
			n = 0
		}
		document.getElementById(mas[n]).scrollIntoView(true);
		n++;
	}, 1500);
}
</script>

Mukhtar 17.09.2012 22:17

Цитата:

Сообщение от bes (Сообщение 205216)
<style>
div {
	border: solid 1px green;
	height: 100px;
	background: lightgrey;
}
</style>

<div id="div1">1</div>
<div></div>
<div id="div2">2</div>
<br><br>
<div id="div3">3</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<script>
window.onload = function () {
	var mas = ['div1', 'div2', 'div3'];
	var len = mas.length;
	var n = 0;
	setInterval(function () {
		if (n == len) {
			n = 0
		}
		document.getElementById(mas[n]).scrollIntoView(true);
		n++;
	}, 1500);
}
</script>

Неа, не работает у меня. ((

bes 18.09.2012 08:53

Цитата:

Сообщение от Mukhtar
Неа, не работает у меня. ((

Это ж где такое не работает?


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