Javascript.RU

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

Несколько событий 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;
});
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2013, 03:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

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

});
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2013, 03:58
Аватар для Klerikadm
Новичок на форуме
Отправить личное сообщение для Klerikadm Посмотреть профиль Найти все сообщения от Klerikadm
 
Регистрация: 25.11.2013
Сообщений: 7

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

Подскажите пожалуйста, а как можно реализовать несколько ссылок через определенный интервал? Буду добавлять id="click_2", click_3...
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2013, 04:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

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)

});
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2013, 07:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Poznakomlus, кроссбраузерно ли работает clearTimeout (вместо clearInterval) для интервалов?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2013, 12:39
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Не знаю Даниил, не проверял. Вообще то подозрение, что псевдонимы они
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

Последний раз редактировалось Vlasenko Fedor, 25.11.2013 в 12:48.
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2013, 13:28
Аватар для Klerikadm
Новичок на форуме
Отправить личное сообщение для Klerikadm Посмотреть профиль Найти все сообщения от Klerikadm
 
Регистрация: 25.11.2013
Сообщений: 7

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

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько событий в onLoad nanoT1m Общие вопросы Javascript 5 26.09.2012 09:40
Несколько ссылок последовательно GhostKU Общие вопросы Javascript 0 31.05.2012 13:57
НЕСКОЛЬКО ЗНАЧЕНИЙ ИЗ INPUT ВЫВЕСТИ ПОСЛЕДОВАТЕЛЬНО Brook Events/DOM/Window 1 20.04.2012 23:32
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58