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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Плавное отображение/скрытие блока

Сообщения:  [1-10]   [11-18] 

 
 автор: Ирбис   (22.03.2011 в 09:31)   письмо автору
 
   для: OLi   (21.03.2011 в 20:11)
 

Вот этот участок:
//По клику на ссылке "Отобразить все" разворачиваем все блоки
$("A.showAll").click(function() {
  $("div.box").fadeIn();
});//end of click() 

Замените на это:
//По клику на ссылке отображаем либо скрываем блоки
$("A.showAll").toggle(function() {
  $("div.box").fadeIn();
  $(this).html("Скрыть все");
},
function() {
  $("div.box").fadeOut();
  $(this).html("Отобразить все");
});//end of toggle()

  Ответить  
 
 автор: OLi   (21.03.2011 в 20:11)   письмо автору
 
   для: Ирбис   (21.03.2011 в 11:10)
 

Спасибо, все заработало....еще один вопрос, как изменить текст на СКРЫТЬ все после того как нажали ОТКРЫТЬ ВСЕ? чтоб повторно по клику уже блоки все сворачивались?!

  Ответить  
 
 автор: psychomc   (21.03.2011 в 12:05)   письмо автору
 
   для: Абырвалг   (19.03.2011 в 00:56)
 

интересный пример. но что если не известно значение ширины?

  Ответить  
 
 автор: Ирбис   (21.03.2011 в 11:10)   письмо автору
 
   для: OLi   (20.03.2011 в 19:26)
 

Проблема в том, что у вас в HTML-коде блоки, которые необходимо скрыть/отобразить имеют идентификаторы box:
<div id='box'></div>

А JS код пытается работать с классами box:
//По клику на ссылке "Отобразить все" разворачиваем все блоки
$("A.showAll").click(function() {
  $("div.box").fadeIn();
});//end of click() 

Вот этот фрагмент $("div.box") извлекает все блоки DIV с классом box. Но поскольку таких на вашей странице нет, то ничего и не работает.

Измените все id='box' на class='box' и JS код заработает.
Также следует учитывать, что идентификаторы должны быть уникальными на странице, т.е. на странице не должно быть 2-х и более тегов с одним и тем же идентификатором.

Если у вас часто возникают такие задачи как выбор элементов на странице, изменение свойств элементов, скрытие/отображение/перемещение элементов, то я вам горячо рекомендую освоить jQuery. С помощью неё эти задачи решаются на раз-два.

  Ответить  
 
 автор: OLi   (20.03.2011 в 19:26)   письмо автору
 
   для: Ирбис   (20.03.2011 в 01:21)
 

Приведу код:
<a href="#" id="open_all" class="showAll">Открыть все</a>

<script type="text/javascript">
    $(document).ready(function() {
      //После загрузки страницы прячем все блоки
      $("div.box").hide();
      $("A.mn").click(function() {
        //Если блок скрыт - отобразим его
        if($(this).next().css("display") == "none") {
          $(this).next().fadeIn();
        }
        //Если блок отображен - скроем его
        else {
          $(this).next().fadeOut();
        }
      });//end of click()
      //По клику на ссылке "Отобразить все" разворачиваем все блоки
      $("A.showAll").click(function() {
        $("div.box").fadeIn();
      });//end of click()
    });//end of ready()
  </script>



И вот таких блоков куча:


<div id="box" style="display: none;">
     <form action="#" method="post" enctype="multipart/form-data">
     <div><label>Форма собственности</label><select>
     <option value="1">ООО</option>
    
     <option value="14">Добавить</option>
     
     
     </select>
    </div>
     
      <div><label>Название фирмы</label><input type="name_f" id="name_f_a" /></div>
      <div><label>Логотип фирмы</label><input type="file" value="Загрузить" /><br /><span>Дождитесь появления фото на странице, иначе не загрузится!</span></div>
      <div><label>О предприятии</label><textarea name="about_f"></textarea><br /><span>Информация о Вашем предприятии: Дата создания, периоды развития, коллектив, партеры, клиенты, лицензии, дипломы и награды…
(Контактную информацию не указывайте – заполняется ниже)
</span></div>
<p><b style="color:#FF0000; font-weight:bold">*</b> В случаи не заполнение данного раздела сейчас – это можно будет сделать позже воспользовавшись вызовом нашего представителя Редактировать </p>
     </form>
     
     </div>

Вроде везде все совпадает по именам классов...не знаю в чем проблема...

  Ответить  
 
 автор: Ирбис   (20.03.2011 в 01:21)   письмо автору
 
   для: OLi   (19.03.2011 в 17:52)
 

Внимательно проверьте имена всех классов в HTML и JavaScript коде

  Ответить  
 
 автор: OLi   (19.03.2011 в 17:52)   письмо автору
 
   для: Ирбис   (19.03.2011 в 16:29)
 

Странно вроде все тоже самое:

  Ответить  
 
 автор: Ирбис   (19.03.2011 в 16:29)   письмо автору
 
   для: OLi   (19.03.2011 в 15:36)
 

Вот полностью работающий пример:
http://irbis09.jino.ru/test/
Посмотрите его исходный код, сравните со своим.

  Ответить  
 
 автор: OLi   (19.03.2011 в 16:20)   письмо автору
 
   для: OLi   (19.03.2011 в 15:36)
 

Еще вопрос к спецам как по клику на отображение блока - перевести пользователя на него типа якоря

  Ответить  
 
 автор: OLi   (19.03.2011 в 15:36)   письмо автору
 
   для: Ирбис   (19.03.2011 в 13:25)
 

ооо супер..Благодарчик...Правда кнопка Отобразить все не срабатывает

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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