Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.10.2011, 12:43
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Сделал так вот простенько:
function showDetails() {
		for (var i=1;i<=<?=$id_num?>;i++) {
			if(document.getElementById("details"+i).style.display=="none") {
				document.getElementById("details"+i).style.display="inline";
			}
			else {
				document.getElementById("details"+i).style.display="none";
			}
		}
	}

Где <?=$id_num?> является переменной php, обозначающей последний элемент.
Не очень криво?

Последний раз редактировалось Эдди, 29.10.2011 в 13:12.
Ответить с цитированием
  #12 (permalink)  
Старый 29.10.2011, 13:57
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

А Вам не надоело в процессе написания дважды переписывать document.getElementById("details"+i)?
Ответить с цитированием
  #13 (permalink)  
Старый 29.10.2011, 14:18
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Сообщение от B@rmaley.e><e Посмотреть сообщение
А Вам не надоело в процессе написания дважды переписывать document.getElementById("details"+i)?
Ну так я же не спец по js. Попробовал присвоить переменной, не вышло .
Подскажите, как...

К тому же в php есть тернарный оператор "?". В JS есть что-то аналогичное? ВРоде, не встречал.
К примеру, (a=1 ? b=2 : b=3)... Чтобы убрать if ... else...

И еще вопрос. Я использую переменную php для определения общего количества элементов, что не есть хорошо.

А как в данном случае из всех ID сделать массив и применить lenght?
Элементы в моем случае идут в теге <p ID="details<?=$id_num++?>"></p>

Последний раз редактировалось Эдди, 29.10.2011 в 14:34.
Ответить с цитированием
  #14 (permalink)  
Старый 29.10.2011, 20:14
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Как Вы пробовали?
function showDetails() {
	for (var i=1;i<=<?=$id_num?>;i++) {
		var elemStyle = document.getElementById("details"+i).style;
		elemStyle.display = elemStyle.display == "none" ? "inline" : "none";
	}
}
Ответить с цитированием
  #15 (permalink)  
Старый 29.10.2011, 20:35
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

ООО

Спасибо!!!

Я пробовал
var elemStyle = document.getElementById("details"+i);
В общем, неправильно пробовал. Буду учиться.

Без style.
Ответить с цитированием
  #16 (permalink)  
Старый 29.10.2011, 20:41
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Можно было бы так
function showDetails() {
	for (var i = 1; i <= <?=$id_num?>; i++) {
		var elem = document.getElementById("details"+i);
		elem.style.display = elem.style.display == "none" ? "inline" : "none";
	}
}
Ответить с цитированием
  #17 (permalink)  
Старый 29.10.2011, 20:43
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Я, вроде, так пробовал. Может, просто ошибку допустил. Не работало.

А что по поводу второго вопроса?
Про то, чтобы убрать из функции переменную php изаменить ее на lenght массива?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацепить одновременно несколько элементов. LRCenter Events/DOM/Window 4 14.03.2011 09:22
Несколько созданных элементов располагаются в одной строке. Как этого избежать? Hold Events/DOM/Window 1 21.01.2011 23:52
как создать в цикле несколько дочерних элементов одного уровня? DimonCry Общие вопросы Javascript 11 13.01.2011 10:46
hover - несколько элементов как один megapup Events/DOM/Window 3 28.10.2010 20:06
Как обработать несколько элементов подряд? vladymyrk jQuery 1 07.01.2009 20:33