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

HTML+CSS+JavaScript

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

 

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

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

тема: Закрыть div
 
 автор: corbis   (21.03.2007 в 10:47)   письмо автору
 
 

Есть такая конструкция:
<ul>
<li class="hover" ondblclick="this.className=''" onclick="this.className='hover'" ><span>Город</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Санкт-Петербург</label></li>
</ul>
</li>
и второй
<ul>
<li ondblclick="this.className=''" onclick="this.className='hover'" ><span>Размер</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Мини</label></li>
</ul>
</li>

При нажатии на Город или Размер - ul сварачиваются не зависимо друг от друга.
Как сделать, чтобы при нажатии , например, на размер город закрывался. и наоборот?
по ссылке справа в блоке можно это увидеть!
Тему не правильно создал.
"Закрыть UL" ))

   
 
 автор: ZuArt   (21.03.2007 в 13:52)   письмо автору
 
   для: corbis   (21.03.2007 в 10:47)
 


<ul>
<li id="lCity" class="hover" ondblclick="this.className=''" onclick="JavaScript:ShowHide('lCity', 'lSize')" ><span>Город</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Санкт-Петербург</label></li>
</ul>
</li>
и второй
<ul>
<li id="lSize" ondblclick="this.className=''" onclick="JavaScript:ShowHide('lSize', 'lCity')" ><span>Размер</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Мини</label></li>
</ul>
</li>

<script>
function ShowHide(sh, hd)
{
document.getElementById(sh).className = "";
document.getElementById(hd).className = "hover";
};
</script>

   
 
 автор: corbis   (21.03.2007 в 14:14)   письмо автору
 
   для: ZuArt   (21.03.2007 в 13:52)
 

Если "Город" закрыт, то при нажатии ничего не происходит.
Надо нажать на "Размер", чтобы город открылся.
а надо и так как Вы предложили и ещё чтобы при нажатии на Город в закрытом положении он тоже открывался.

   
 
 автор: ZuArt   (21.03.2007 в 14:27)   письмо автору
 
   для: corbis   (21.03.2007 в 14:14)
 

Попробуйте так - ошибка может быть в объявлении массива - не помню точно, как он объявляется в JS =)


<ul>
<li id="lCity" class="hover" onclick="JavaScript:onClickDiv('lCity')" ><span>Город</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Санкт-Петербург</label></li>
</ul>
</li>
и второй
<ul>
<li id="lSize" onclick="JavaScript:onClickDiv('lSize')" ><span>Размер</span>
<ul>
<li><input type="checkbox" value="" id="city_07" /><label for="city_07">Мини</label></li>
</ul>
</li>

<script>
onClickDiv('');

function onClickDiv(nm)
{
 var divs = new Array('lSize', 'lCity');
 if(nm == "")
 {
  for (i=0; i<count(divs); i++)
   document.getElementById(divs[i]).className = "hover";
  return;
 };

 if(document.getElementById(nm).className == "")
 {
  document.getElementById(nm).className = "hover";
  return;
 };

 for (i=0; i<count(divs); i++)
 {
  if(document.getElementById(divs[i]) == nm)
   document.getElementById(divs[i]).className = "";
  else
  document.getElementById(divs[i]).className = "hover";
 };
};
</script> 

   
 
 автор: ZuArt   (21.03.2007 в 14:30)   письмо автору
 
   для: ZuArt   (21.03.2007 в 14:27)
 

PS. Я так подразумеваю, что без класса - блок ВИДИМ, с классом "hover" блок спрятан. Если наоборот, то везде, где идет в скрипте className - поменяйте на противоположное - должно работать (на первый взгляд)

   
Rambler's Top100
вверх

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