Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2013, 11:42
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Применить действие ко всем элементам elementX
На странице по клику открываются некоторые блоки, нужно сделать так, чтобы по нажатию в пустом месте страницы все эти блоки закрывались (style="dispaly:none"), без использования jQuery или других библиотек.

Все элементы имеют название elementX, где X - произвольное число. Методом перебора, типа for() конечно прокатит, но поскольку число X может быть и 1 и 999999999 перебирать придётся долго да и при каждом клике это излишне.
Нужно ресурсоёмкое решение без использования библиотек.

Подскажите, как бы вы сделали?
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2013, 11:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от keysi_
Все элементы имеют название
Что есть "название элемента"?

Сообщение от keysi_
число X может быть и 1 и 999999999
Что это за элементы такие?

Сообщение от keysi_
Подскажите ресурсоёмкое решение без использования библиотек.
Где тестовый пример?
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2013, 12:05
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Ссори, пусть будет не название а конкретно ID.
Это элементы с которыми можно работать из БД у каждого свой ID, вот потому и разные.

Сейчас напишу пример.
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2013, 12:09
Аватар для keysi_
Интересующийся
Отправить личное сообщение для keysi_ Посмотреть профиль Найти все сообщения от keysi_
 
Регистрация: 29.04.2009
Сообщений: 22

Пример:
<body>
<div id="msg776">
  Сообщение №776
  <div onclick="info776.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info776">info</div>
</div>

<div id="msg325">
   Сообщение №325
  <div onclick="info325.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info325">info</div>
</div>


<div id="msg767">
   Сообщение №767
  <div onclick="info767.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info767">info</div>
</div>

</body>

Последний раз редактировалось keysi_, 20.09.2013 в 12:21.
Ответить с цитированием
  #5 (permalink)  
Старый 20.09.2013, 13:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от keysi_
все эти блоки закрывались (style="dispaly:none"), без использования jQuery или других библиотек
Сообщение от keysi_
Пример
Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
window.onload=function () {
	var o=document.getElementsByTagName('body')[0].childNodes;
	for (var i=0; i<o.length; i++) {
		if (o[i].tagName=='DIV') {
			o[i].style.display='none';
		};
	};
};
</script>
</head>
<body>
<div id="msg776">
  Сообщение №776
  <div onclick="info776.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info776">info</div>
</div>
<div id="msg325">
   Сообщение №325
  <div onclick="info325.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info325">info</div>
</div>
<div id="msg767">
   Сообщение №767
  <div onclick="info767.style='display:block;'">Показать информацию</div>
  <div style="display:none;" id="info767">info</div>
</div>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 20.09.2013, 13:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

С "модификацией" контента...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
window.onload=function () {
	document.getElementById('container').style.display='none';;
};
</script>
</head>
<body>
<body>
<div id="container">
	<div id="msg776">
		Сообщение №776
		<div onclick="info776.style='display:block;'">Показать информацию</div>
		<div style="display:none;" id="info776">info</div>
	</div>
	<div id="msg325">
		Сообщение №325
		<div onclick="info325.style='display:block;'">Показать информацию</div>
		<div style="display:none;" id="info325">info</div>
	</div>
	<div id="msg767">
		Сообщение №767
		<div onclick="info767.style='display:block;'">Показать информацию</div>
		<div style="display:none;" id="info767">info</div>
	</div>
</div>
</body>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Применить ко всем элементам кроме текущего. Dimaz jQuery 7 02.06.2013 17:47
применение свойств ко всем элементам Vampir3 Общие вопросы Javascript 27 26.06.2012 17:02
поиск по всем элементам murad30 Элементы интерфейса 5 07.10.2011 14:51
Как применить css ко всем элементам внутри блока MaxB jQuery 12 28.05.2010 07:56
Как добавить метод ко всем элементам? zubr80 Events/DOM/Window 3 06.04.2009 05:46