Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 13.12.2011, 10:14
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Функция кликает по первому родителю всех элементов с указанным классом. Похоже, это то, что вы хотели. Вставьте между тегами <script></script>.
function clickClassParent(className) {
	var victimsArray = document.querySelectorAll("." + className), x;
	var victimParent;
	for (x = 0; x < victimsArray.length; x++) {
		victimParent = victimsArray[x].parentNode;
		if (victimParent.onclick && victimParent.onclick instanceof Function) {
			victimParent.onclick();
		}
	}
}

clickClassParent("world_button_inactive");


Вот она же на тестовом стенде. Ваши функции в onclick заменены на alert() для тестирования. Также display внешнего div изменён с none на block. Внимание, запустив тест получите 5 последовательных alert'ов!
<!DOCTYPE html>
<html>
	<head></head>
	<body>
		<div id="inactive_server_list" style="display:block;overflow:visible;margin-bottom:1px;margin-top:10px;clear:both;">
			<a href="#" onclick="alert(4)">
				<span class="world_button_inactive">Мир 12</span>
			</a>
			<a href="#" onclick="alert(3)">
				<span class="world_button_inactive">Мир 13</span>
			</a>
			<a href="#" onclick="alert(2)">
				<span class="world_button_inactive">Мир 15</span>
			</a>
			<a href="#" onclick="alert(1)">
				<span class="world_button_inactive">Мир 16</span>
			</a>
			<a href="#" onclick="alert(0)">
				<span class="world_button_inactive">Speed</span>
			</a>
		</div>
		<script>
			function clickClassParent(className) {
				var victimsArray = document.querySelectorAll("." + className), x;
				var victimParent;
				for (x = 0; x < victimsArray.length; x++) {
					victimParent = victimsArray[x].parentNode;
					if (victimParent.onclick && victimParent.onclick instanceof Function) {
						victimParent.onclick();
					}
				}
			}

			clickClassParent("world_button_inactive");
		</script>
	</body>
</html>
Ответить с цитированием
  #22 (permalink)  
Старый 13.12.2011, 20:50
Интересующийся
Отправить личное сообщение для Azazello77 Посмотреть профиль Найти все сообщения от Azazello77
 
Регистрация: 08.12.2011
Сообщений: 18

спасибо, но решил этот вопрос вот так -
var cmdname="script";
var cmdtime=10;
var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
Ответить с цитированием
  #23 (permalink)  
Старый 13.12.2011, 22:46
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от GuardCat Посмотреть сообщение
var victimsArray = document.querySelectorAll("." + className), x;
	var victimParent;
ахахахаха 2 раза переменные декларирует))))
Ответить с цитированием
  #24 (permalink)  
Старый 13.12.2011, 22:47
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от Azazello77 Посмотреть сообщение
спасибо, но решил этот вопрос вот так -
var cmdname="script";
var cmdtime=10;
var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);

ахахах ну вы и быдлокодеры ребят)) не в обиду но код красиво писать не умеете)

зачем несколько раз оператор var вызывать???
Ответить с цитированием
  #25 (permalink)  
Старый 13.12.2011, 22:48
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

var cmdname="script",
cmdtime=10,
cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
Ответить с цитированием
  #26 (permalink)  
Старый 13.12.2011, 22:55
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Livanderiaamarum, а в чем неправильность? Это две разные переменные. Или следует декларировать все переменные в одну строку?
Поясните, пожалуйста, любителю, чем плохо вызывать var дважды или укажите куда копать, буду благодарен. Обычно, ограничиваю строку несколькими переменными, а затем начинаю новую строку var, чтобы не терять в читабельности, записывая километровые строки. Это неверно?
Ответить с цитированием
  #27 (permalink)  
Старый 13.12.2011, 22:57
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Azazello77 Посмотреть сообщение
спасибо, но решил этот вопрос вот так -
var cmdname="script";
var cmdtime=10;
var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
зачем для этого использовать jquery ?

Последний раз редактировалось melky, 15.12.2011 в 20:24.
Ответить с цитированием
  #28 (permalink)  
Старый 13.12.2011, 23:58
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от GuardCat Посмотреть сообщение
Livanderiaamarum, а в чем неправильность? Это две разные переменные. Или следует декларировать все переменные в одну строку?
Поясните, пожалуйста, любителю, чем плохо вызывать var дважды или укажите куда копать, буду благодарен. Обычно, ограничиваю строку несколькими переменными, а затем начинаю новую строку var, чтобы не терять в читабельности, записывая километровые строки. Это неверно?
нет, тут как бы оптимальность мы читабильность. просто считается хорошим тоном декларировать переменные вверху и сразу. это ОГРОМНО облегчает работу интерпритатору. Там более js использует высасывание направленное вверх. Если вам так читабильней то пользуетесь). обфуксатор все поправит
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие клика для label с чекбоксом debugx Events/DOM/Window 2 28.10.2011 09:43
событие клика alerzo Events/DOM/Window 1 11.10.2011 08:42
Имитация клика в заданной точке StrSprut jQuery 1 10.10.2011 11:11
Функция в функции. Обработчики клика. Запутался =) DorianLeroy Общие вопросы Javascript 8 29.09.2011 16:17
Получение координат клика мыши uonax Events/DOM/Window 3 20.06.2010 09:32