Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Несколько событий click() последовательно (https://javascript.ru/forum/css-html/43165-neskolko-sobytijj-click-posledovatelno.html)

Klerikadm 25.11.2013 03:06

Несколько событий click() последовательно
 
Доброго времени суток Уважаемые Форумчане! Хочу просить у Вас помощи в реализации кода. Суть такова, есть html страничка с изображениями. Каждому изображению присвоен якорь, соответственно есть и ссылки на них. В каждой ссылке есть <span> c id. Нужно, чтобы событие click() срабатывало через 4секунды, после загрузки документа и все последующие события также обрабатывались через определенное время

<!DOCTYPE html>
<html>
<head>
<title>Click</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style/style.css" />
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/click.js"></script>
</head>
<body>
	<div class="picture">
	<a name="one"><img src="img/001.jpg" alt="1"></a>
	<a name="one1"><img src="img/002.jpg" alt="1"></a>
	<a name="one2"><img src="img/003.jpg" alt="1"></a>
	<a name="one3"><img src="img/004.jpg" alt="1"></a>
	<a name="one4"><img src="img/005.jpg" alt="1"></a>
	</div>
<div>
	<ul>
		<li>
			<a href="#one">One</a>
			<a href="#one1">One1</a>
			<a href="#one2">One2</a>
			<a  href="#one3"><span id="then">One3</span></a>
			<a href="#one4">One4</a>
		</li>
	</ul> 
</div>
<script type="text/javascript">
//ожидаем загрузку всего документа
$(document).ready(function(){
//кликаем
	$('#then').click();
});

</script>
</body>
</html>


Пробовал разные варианты, setTimeOut, потом пробовал .delay(4000), где то допускаю ошибку.

Испробованные варианты:

//ожидаем загрузку всего документа
$(document).ready(function(){
//кликаем
$('#then').click().delay(4000);
});



И еще

//ожидаем загрузку всего документа
$(document).ready(function(){
//кликаем

setTimeOut($('#then').click, 4000;
});

рони 25.11.2013 03:26

Klerikadm,
//ожидаем загрузку всего документа
$(document).ready(function(){
//кликаем
 window.setTimeout(function ()
{
    $('#then')[0].click();
},4000)

});

Klerikadm 25.11.2013 03:58

Спасибо большое! Заработало.

Подскажите пожалуйста, а как можно реализовать несколько ссылок через определенный интервал? Буду добавлять id="click_2", click_3...

рони 25.11.2013 04:50

Klerikadm,
//ожидаем загрузку всего документа
$(document).ready(function(){
//кликаем
var n = 1;
function go()
{
    $('#click_' + n++)[0].click();
    $('#click_' + n).length && window.setTimeout(function ()
{
    go();
},4000)
}
 window.setTimeout(function ()
{
    go();
},4000)

});

danik.js 25.11.2013 07:11

Poznakomlus, кроссбраузерно ли работает clearTimeout (вместо clearInterval) для интервалов?

Vlasenko Fedor 25.11.2013 12:39

Не знаю Даниил, не проверял. Вообще то подозрение, что псевдонимы они
jQuery(document).ready(function ($) {
	var links = $('a[href*=#one]').get().reverse(),
	  len = links.length,
	  clickTimer = setInterval(function () {
		links[--len].click();
		len == 0 && clearInterval(clickTimer);
	  }, 4000);
});

и http://learn.javascript.ru/play/tOSokb

Klerikadm 25.11.2013 13:28

Спасибо Вам огромное, за просто неоценимую помощь!
Может кто-то прочитает это сообщение из новеньких, таких же, как и я, которые хотят выучить jQuery. Но хочу сказать следующее - читайте книги, смотрите примеры, всего за раз не выучить, но можно доставать знания кусочками, не останавливаться, пробовать! Главное в начале научиться пользоваться справочником. И задавать правильные вопросы)

Еще раз спасибо Всем участникам форума, которые мне помогли!


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