Javascript.RU

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

Открытие див блоков ПОМОГИТЕ
Друзья, братья, спасите!Имеется такой вот код
<script>
function openbox(id){
display = document.getElementById(id).style.display;

if(display=='none'){
document.getElementById(id).style.display='block';
}else{
document.getElementById(id).style.display='none';
}
}
</script>
<a href="#" onClick="openbox('one')">Ссылка</a>
<a href="#" onClick="openbox('two')">Ссылка 2</a>
таких ссылок у меня 4
все работает но проблема в том что нажимаешь на первую ссылку,вылазит блок с текстом, потом на вторую и блок на блок ложится, то есть получается каша. как сделать так чтобы при нажатии на вторую ссылку первый блок закрывался, а открытый был только второй?
Ответить с цитированием
  #2 (permalink)  
Старый 30.12.2012, 13:30
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<input type="button" onclick="openbox(0)">
<input type="button" onclick="openbox(1)">
<input type="button" onclick="openbox(2)">

<div class="box">0</div>
<div class="box">1</div>
<div class="box">2</div>


function openbox(a)
{
   var b = document.getElementsByClassName('box');
   for(i=0;i<b.length;i++)
   {
      b[i].style.display = 'none';
   }
   b[a].style.display == 'none' ? a[a].style.display == 'block' : a[a].style.display == 'none' ;
}


В скобках указываем номер элемента.
Ответить с цитированием
  #3 (permalink)  
Старый 30.12.2012, 13:33
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Ruslan_xDD,
b[a].style.display == 'none' ? b[a].style.display = 'block' : b[a].style.display = 'none';

хотя в данном случае достаточно
b[a].style.display = 'block';

и для IE нужна своя реализация метода getElementsByClassName()

Последний раз редактировалось lord2kim, 30.12.2012 в 13:37.
Ответить с цитированием
  #4 (permalink)  
Старый 30.12.2012, 13:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от elizaveta199309
таких ссылок у меня 4
Такой вид для HTML подойдёт ?
<div id=wrap>
<!--открывающийся контент-->

  <div id="one1">1</div>
  <div id="two1">2</div>
  
  <div id="one2">1</div>
  <div id="two2">2</div>
  
  <div id="one3">1</div>
  <div id="two3">2</div>
  
  <div id="one4">1</div>
  <div id="two4">2</div>

</div>

<!--Клик ссылки-->
<a href="#" onClick="openbox('one1')">Ссылка</a>
 <a href="#" onClick="openbox('two1')">Ссылка 2</a>
 
 <a href="#" onClick="openbox('one2')">Ссылка</a>
 <a href="#" onClick="openbox('two2')">Ссылка 2</a>

 <a href="#" onClick="openbox('one3')">Ссылка</a>
 <a href="#" onClick="openbox('two3')">Ссылка 2</a>

 <a href="#" onClick="openbox('one4')">Ссылка</a>
 <a href="#" onClick="openbox('two4')">Ссылка 2</a>
Ответить с цитированием
  #5 (permalink)  
Старый 30.12.2012, 14:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от lord2kim
хотя в данном случае достаточно
Верно-верно, что-то я поторопился.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показывать див при подводе на другой див Manjuriano jQuery 5 16.09.2011 16:00
Всплывающий див около курсора Andrejs Элементы интерфейса 1 11.02.2011 17:08
Помогите с событиями Suharik Events/DOM/Window 8 27.08.2010 18:25
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
помогите задать селектор! mkrylov jQuery 2 28.06.2009 20:34