Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.04.2012, 16:07
Аватар для Wolk_
Интересующийся
Отправить личное сообщение для Wolk_ Посмотреть профиль Найти все сообщения от Wolk_
 
Регистрация: 01.04.2012
Сообщений: 13

Взаимозамещение div`ов
Добрый день, при верстке дизайна своего сайта возникла нужда в реализации нижеописанного процесса, заранее оговорюсь, что с javascript пока не подружился и использую готовые решения с небольшими правками.

Суть задачи - это реализация взаимозамещения блочных элементов, а конкретно - div`ов, при нажатии на другой div (выполняющий роль переключателя).


Итак, есть 2-а div каждый со своим контентом, имеется недалеко от них и другой div, выполняющий роль некого переключателя. Хочу заметить, что если мы наблюдаем первый div, то второй dispay:none и соответственно наоборот.

Каждый раз, когда мы нажимаем, на "переключатель" происходит упорядоченная смена этих самых дивов. Надеюсь, что я понятно изъяснился, заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 01.04.2012, 17:24
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Мне думается, что такие штуки реализуются посредством некоторой переменной, которая используется как флаг (интересно существуют ли другие способы).

Например,
Код:
<script>
var flag = 0;
</script>

<button  
  onclick="
 d1 = document.getElementById('div1');
 d2 = document.getElementById('div2');

  switch (flag)
  {
    case 0: {d1.style.display ='none'; d2.style.display = 'block'; flag = 1; break;}
    case 1: {d2.style.display ='none'; d1.style.display = 'block'; flag = 0; break;}
  }
">switch
</button>


<div id="div1" style="display: block; background: lightgrey">Содержимое - 1</div>
<div id="div2" style="display: none; background: lightgreen">Содержимое - 2</div>
Ответить с цитированием
  #3 (permalink)  
Старый 01.04.2012, 18:20
Аватар для Wolk_
Интересующийся
Отправить личное сообщение для Wolk_ Посмотреть профиль Найти все сообщения от Wolk_
 
Регистрация: 01.04.2012
Сообщений: 13

Да, вы меня правильно поняли, почти.
1) Необязательно чтобы "кнопка", была кнопкой я не зря несколько раз указал, что будет div переключатель.
2) Есть ли менее громоздкие решения, в плане объёма кода? А так, выражаю огромную признательность, за то, что откликнулись и предложили свой вариант.
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2012, 19:04
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

1) а в чём разница? onclick можете вставить в любой контейнер (хоть в button, хоть в div)
2) куда уж короче (может и есть)
Ответить с цитированием
  #5 (permalink)  
Старый 02.04.2012, 23:44
Аватар для Wolk_
Интересующийся
Отправить личное сообщение для Wolk_ Посмотреть профиль Найти все сообщения от Wolk_
 
Регистрация: 01.04.2012
Сообщений: 13

Ещё такой момент, как сделать переключение более плавным? Обычно это делается с помощью параметра transition - это CSS3, а вот в javascript
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический список из DIV`ов и INPUT`ов Andrew_li jQuery 5 09.06.2011 15:23