Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Скрыть все DIV'ы на странице / 16 сообщений из 16, страница 1 из 1
12.05.2008, 14:53
    #35306620
dp_cmb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Помогите плиз, На странице много DIV'ов, их ID назначаются автоматически при формировании страницы в PHP. Есть скрипт :

<script type=text/javascript>
Код: plaintext
1.
2.
3.
4.
5.
function show(i) {
        var v = document.getElementById(i).style.display;
        if (v == \"none\") document.getElementById(i).style.display = \"block\";
        if (v == \"block\") document.getElementById(i).style.display = \"none\";
}
</script>

По одному - все работает, открывается, закрывается.
Вопросы:
1. Как сделать, чтоб при нажатии на "что-то" все на странице DIV'ы закрылись, а на "что-то другое" открылись ?
2. Как сделать, чтоб при нажатии на "что-то" DIV открылся, но все остальные закрылись ?

Заранее спасибо.
...
Рейтинг: 0 / 0
12.05.2008, 15:21
    #35306735
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
dp_cmb1. Как сделать, чтоб при нажатии на "что-то" все на странице DIV'ы закрылись, а на "что-то другое" открылись ?
Смотреть в сторону document.getElementsByTagName
dp_cmb2. Как сделать, чтоб при нажатии на "что-то" DIV открылся, но все остальные закрылись ?
document.all
...
Рейтинг: 0 / 0
12.05.2008, 15:28
    #35306759
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
_Vasilisk_Смотреть в сторону document.getElementsByTagName
Если правильно организовать имена или id - пробежка по всем тегам будет не нужна...
...
Рейтинг: 0 / 0
12.05.2008, 15:28
    #35306762
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
_Vasilisk_
document.all

Учите хорошему, а плохому - он сам выучится...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.05.2008, 15:45
    #35306814
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<style>
	div {float:left; width:100px; border:1px solid blue; margin:10px;}
</style>
<script>
	function show(id, group, opType)
	{
		if (group)
		{
			for (var i= 0 ; div=document.getElementById('container').childNodes[i]; i++)
				if (div.tagName == 'DIV') 
				{
					if (id != 'all') div.style.display = (div.id == id)?'block':'none';
					else div.style.display = (opType == 'show')?'block':'none';
				}
		}
		else document.getElementById(id).style.display = (document.getElementById(id).style.display == 'none')?'block':'none';
	}
</script>
<input type="button" onclick="show('d1',0)" value="show1">
<input type="button" onclick="show('d2',0)" value="show2">
<input type="button" onclick="show('d3',0)" value="show3">
<input type="button" onclick="show('d1',1)" value="show_only1">
<input type="button" onclick="show('d2',1)" value="show_only2">
<input type="button" onclick="show('d3',1)" value="show_only3">
<input type="button" onclick="show('all',1,'show')" value="show_all">
<input type="button" onclick="show('all',1,'hide')" value="hide_all">
<div id="container">
	<div id="d1">div  1 </div>
	<div id="d2">div  2 </div>
	<div id="d3">div  3 </div>
</div>
либо, если на странице больше нет дивов, можно пользовать getElementsByTagName, или если у всех дивов id одинакового формата (с одинаковым префиксом, например) то использовать id. Но только не document.all.
...
Рейтинг: 0 / 0
12.05.2008, 16:09
    #35306901
dp_cmb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Дело в том, что я не знаю, какие будут ID у DIV'ов после формирования страницы, и DIV'ов будет много (больше десятка). Формат ID - это шестизначное число.
Как мне получить весь список этих ID, чтобы пробежаться по ним ?
А с document.getElementByTagName у меня что-то не получилось, тут тоже надо по списку идти или он действует на все элементы страницы с одинаковым тэгом ?
...
Рейтинг: 0 / 0
12.05.2008, 16:32
    #35306997
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
dp_cmbДело в том, что я не знаю, какие будут ID у DIV'ов после формирования страницы
А кто формирует страницу?
dp_cmbDIV'ов будет много (больше десятка).
Это разве много!
dp_cmbА с document.getElementByTagName у меня что-то не получилось, тут тоже надо по списку идти или он действует на все элементы страницы с одинаковым тэгом ?
Вот пример из доков для document.getElementByTagName

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<SCRIPT>
function fnGetTags(){
   var oWorkItem=event.srcElement;
   var aReturn=oWorkItem.parentElement.getElementsByTagName("LI");
   alert("Length: "
      + aReturn.length
      + "\nFirst Item: "
      + aReturn[ 0 ].childNodes[ 0 ].nodeValue);
}
</SCRIPT>
<UL onclick="fnGetTags()">
<LI>Item  1 
   <UL>
      <LI>Sub Item  1 . 1 
      <OL>
         <LI>Super Sub Item  1 . 1 
         <LI>Super Sub Item  1 . 2 
      </OL>
      <LI>Sub Item  1 . 2 
      <LI>Sub Item  1 . 3 
   </UL>		
<LI>Item  2 
   <UL>
      <LI>Sub Item  2 . 1 
      <LI>Sub Item  2 . 3 
   </UL>
<LI>Item  3 
</UL>
...
Рейтинг: 0 / 0
12.05.2008, 16:40
    #35307029
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
<html>
<head>
<script>
function getDivs(){
els=document.getElementsByTagName("DIV");
for(i=0; i<els.length;i++){
alert(els .id);
}
}
</script>
<button onclick="getDivs();">Click</button>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>
<div id="div5"></div>
<div id="div6"></div>
<div id="div7"></div>
</body>
</html>
...
Рейтинг: 0 / 0
12.05.2008, 16:42
    #35307032
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Пардон буттон после боди надо.
...
Рейтинг: 0 / 0
12.05.2008, 16:57
    #35307092
dp_cmb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Сделал вот так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
var al = document.getElementsByTagName('*');
var cf = 'd';
var cc;
for(var j=0;j<al.length;j++){
     cc = al[j].className;
     if(cc.search(cf) != -1){
          al[j].style.display = 'block';
     }
}

Но работает медлено.
...
Рейтинг: 0 / 0
12.05.2008, 17:00
    #35307106
dp_cmb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
А вот так :

Код: plaintext
1.
2.
3.
els=document.getElementsByTagName("DIV");
for(i= 0 ; i<els.length;i++){
alert(els.id);
}

Очень даже быстро, боьшое спасибо.
...
Рейтинг: 0 / 0
12.05.2008, 17:03
    #35307118
кто-то1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
Код: plaintext
alert(els.id);
нажимать успеваешь?)
...
Рейтинг: 0 / 0
12.05.2008, 17:06
    #35307125
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
На самом деле вот так было:
Код: plaintext
1.
alert(els[i].id);
...
Рейтинг: 0 / 0
12.05.2008, 18:36
    #35307374
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
illionНо только не document.all.
Хотелось бы узнать почему?
...
Рейтинг: 0 / 0
12.05.2008, 18:43
    #35307390
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
> Хотелось бы узнать почему?

Да не очень кроссбраузерный он...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.05.2008, 20:31
    #35307565
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрыть все DIV'ы на странице
vkle
> Хотелось бы узнать почему?
Да не очень кроссбраузерный он...
Понятно. Спасибо
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Скрыть все DIV'ы на странице / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]