Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JS (DIV display:none) - как открыть все скрытые элементы
 
 автор: virtus1k   (18.10.2008 в 22:36)   письмо автору
 
 

Есть функиця

function showDiv(div)
{
       if (document.getElementById(div).style.display=="none")
           document.getElementById(div).style.display="block";
      else
          document.getElementById(div).style.display="none";
}
</script>


<a href="javascript:showDiv('div19')"> + </a>
<div id="div19" style="display: none;"> лллллааааа </div>


При нажатии на + открывается ллллааааааа

B таких divID может быть много с разными ID ясное дело :)!

Вопрос - как сделать так, что бы по одной ссылке у меня откролись сразу все скрытые divID
СПАсибО

  Ответить  
 
 автор: Nytrogen   (18.10.2008 в 22:50)   письмо автору
 
   для: virtus1k   (18.10.2008 в 22:36)
 

Проходите циклом по всем DIV'ам и показывайте их.

  Ответить  
 
 автор: virtus1k   (19.10.2008 в 10:17)   письмо автору
 
   для: Nytrogen   (18.10.2008 в 22:50)
 

:) дело в том, что я js не знаю, а очень нужно.
Если не сложно, пожалуйста, черканите скприптец.
Большое спасибо!

  Ответить  
 
 автор: ddhvvn   (19.10.2008 в 10:46)   письмо автору
 
   для: virtus1k   (19.10.2008 в 10:17)
 


for (i=1;i<=count;i++)
  document.getElementById('div'+count).style='';

  Ответить  
 
 автор: virtus1k   (19.10.2008 в 11:37)   письмо автору
 
   для: ddhvvn   (19.10.2008 в 10:46)
 

Спасибо. И куда его нужно вписать :) ?

  Ответить  
 
 автор: Nytrogen   (19.10.2008 в 16:49)   письмо автору
 
   для: virtus1k   (19.10.2008 в 11:37)
 


<script>
//Рекомендую так же переписать фунцкию showDiv:
function showDiv(div) {
  with (document.getElementById(div).style) {
       display = display == "none"  ? "block" : "none";
   }
}

//функция для отображения всех div'ов
function showAllDivs() {
  var divsAmount = 50; //количество div'ов
  for (var i = 1; i<=divsAmount; i++) {
    document.getElementById("div" + i).style = "block";
  }
}
</script>


P.S. Старайтесь называть функции в соответствии с их назначением. Так например, функция showDiv судя по названию должна отображать какой-то блок, а не переключать его видимость.

  Ответить  
 
 автор: virtus1k   (20.10.2008 в 13:48)   письмо автору
 
   для: Nytrogen   (19.10.2008 в 16:49)
 

Большое спасибо. А как вызвать? так не работает
<a href="javascript:showAllDivs()">&#9658;</a>

И еще, скажите пожалуйста, как бы сделать так, что бы
<a href="javascript:showDiv('div19')"> + </a> 
<div id="div19" style="display: none;"> лллллааааа </div>


+ при клике заменялся на -

Большое спасибо ;)

  Ответить  
 
 автор: Nytrogen   (20.10.2008 в 17:06)   письмо автору
 
   для: virtus1k   (20.10.2008 в 13:48)
 

Эта ссылка отобразит все DIV'ы:
<a href="" onclick="showAllDivs(); return false;">&#9658;</a>


А эта ссылка отобразит / скроет div19 и сменится на плюс / минус:
<a href="" onclick="showDiv('div19'); this.innerHTML = this.innerHTML == '-' ? '+' : '-'; return false;"> + </a> 
<div id="div19" style="display: none;"> лллллааааа </div>

  Ответить  
 
 автор: virtus1k   (20.10.2008 в 17:16)   письмо автору
 
   для: Nytrogen   (20.10.2008 в 17:06)
 

СУПЕР! + - работает - а дивы так и не открываются :(

  Ответить  
 
 автор: Nytrogen   (20.10.2008 в 17:37)   письмо автору
 
   для: virtus1k   (20.10.2008 в 17:16)
 

Эх, я ошибся, а Вы и не заметили =)

function showAllDivs() {
  var divsAmount = 5; //количество div'ов
  for (var i = 1; i<=divsAmount; i++) {
    document.getElementById("div" + i).style.display = "block";
  }
}


Свойство-то указать надо перед тем как значение присваивать =)

  Ответить  
 
 автор: virtus1k   (20.10.2008 в 17:53)   письмо автору
 
   для: Nytrogen   (20.10.2008 в 17:37)
 

неа :) и так тоже не работает :(

  Ответить  
 
 автор: Nytrogen   (20.10.2008 в 18:53)   письмо автору
 
   для: virtus1k   (20.10.2008 в 17:53)
 

У меня всё работает. Пошевелите мозгами =)

  Ответить  
 
 автор: virtus1k   (20.10.2008 в 19:01)   письмо автору
 
   для: Nytrogen   (20.10.2008 в 18:53)
 

Та, а че тут шевелить-то
<a href="#" onclick="showAllDivs(); return false;">&#9658;</a> 

не работает :(

  Ответить  
 
 автор: Nytrogen   (20.10.2008 в 19:29)   письмо автору
 
   для: virtus1k   (20.10.2008 в 19:01)
 

Функция значит определена после этой ссылки.

  Ответить  
 
 автор: virtus1k   (21.10.2008 в 10:32)   письмо автору
 
   для: Nytrogen   (20.10.2008 в 19:29)
 

конечно нет - функция в хедере у меня прописана!
Эксплорер рапортует - ТРЕБУЕТСЯ объект на вот этой строке:
    document.getElementById("div" + i).style.display = "block";  

  Ответить  
 
 автор: Nytrogen   (21.10.2008 в 14:54)   письмо автору
 
   для: virtus1k   (21.10.2008 в 10:32)
 

У меня в IE всё работает. Проверьте цикл.

  Ответить  
 
 автор: sl1p   (21.10.2008 в 15:01)   письмо автору
 
   для: Nytrogen   (21.10.2008 в 14:54)
 

может у афтара с 0 начинаюцо:)

  Ответить  
 
 автор: mechanic   (21.10.2008 в 15:23)   письмо автору
 
   для: sl1p   (21.10.2008 в 15:01)
 

да уж перед тем, как работать с объектом, желательно убедиться, что он есть )
типа if (!div = document.getElementById()) continue;

  Ответить  
 
 автор: Nytrogen   (21.10.2008 в 15:36)   письмо автору
 
   для: mechanic   (21.10.2008 в 15:23)
 

На кой чёрт тогда цикл писать, если ID расставлены от балды?

  Ответить  
 
 автор: sl1p   (21.10.2008 в 15:38)   письмо автору
 
   для: Nytrogen   (21.10.2008 в 15:36)
 

ну так писарь же не понимает помоему в чём дело:)

  Ответить  
 
 автор: Fim   (26.06.2010 в 17:52)   письмо автору
 
   для: sl1p   (21.10.2008 в 15:38)
 

А как к этому скрипту прикрутить сохранение в куках? чтоб при обновлении страницы блок остался открытым/закрытым (каким был в последний раз)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования