Javascript.RU

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

Упрощение скрипта отображения div
Всем привет! Есть такой код
<script>
function Selected(a) {
  var label = a.value;
    if (label=="col1") {
       document.getElementById('col1').style.display='block';
   } else {
       document.getElementById('col1').style.display='none';
   } 
    if (label=="col2") {
       document.getElementById('col2').style.display='block';
   } else {
       document.getElementById('col2').style.display='none';
   } 
    if (label=="col3") {
       document.getElementById('col3').style.display='block';
   } else {
       document.getElementById('col3').style.display='none';
   } 
}
</script>


По клику на radio - отображается нужный div. Я сделал так что каждый radio имеет value одинаковый с id блока который нужно показать, меняется только цифра, и их может быть от 1 до 30 примерно, помогите пожалуйста упростить этот код чтобы не приходилось писать под каждый radio и div новый код... Заранее спасибо! Вот что я пробовал, но логики не особо в нем вижу:
<script>
function Selected(a) {
  var label = a.value;
    if (label==label) {
       document.getElementById(label).style.display='block';
   } else {
       document.getElementById(label).style.display='none';
   } 
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2017, 21:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

j0hnik,
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2017, 21:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

PonyS,
var label = 'col1';
function Selected(a) {
       document.getElementById(label).style.display='none';
       label = a.value;
       document.getElementById(label).style.display='block';
}
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2017, 22:07
Аспирант
Отправить личное сообщение для PonyS Посмотреть профиль Найти все сообщения от PonyS
 
Регистрация: 19.04.2016
Сообщений: 55

Сообщение от рони Посмотреть сообщение
PonyS,
var label = 'col1';
function Selected(a) {
       document.getElementById(label).style.display='none';
       label = a.value;
       document.getElementById(label).style.display='block';
}
Спасибо, то что нужно
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2017, 22:13
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от рони Посмотреть сообщение
j0hnik,
не так прочитал, sorry
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2017, 09:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,138

j0hnik, у тебя по многим темам есть удаленные сообщения. Не части.
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2017, 12:10
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от ksa Посмотреть сообщение
j0hnik, у тебя по многим темам есть удаленные сообщения. Не части.
Или санкции?
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2017, 13:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,138

Сообщение от j0hnik
Или санкции?
Просто зачем так "спамить"?
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2017, 14:42
Аспирант
Отправить личное сообщение для PonyS Посмотреть профиль Найти все сообщения от PonyS
 
Регистрация: 19.04.2016
Сообщений: 55

Сообщение от PonyS Посмотреть сообщение
Спасибо, то что нужно
Подскажите пожалуйста, а если первый col1 - изначально на странице как display:block, а остальные скрытые, и по клику на radio другой от col1 будет внизу отображаться нужный col2 к примеру, но col1 при этом не скрылся, а скрываеться уже после 2-3х раз выбора radio(запускается цепочка работы скрипта), как быть в этом случае? Заранее спасибо!
Ответить с цитированием
  #10 (permalink)  
Старый 06.06.2017, 17:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

PonyS,
не осилил, скрипту без разницы какой блок изначально открыт или закрыт,и что в label,главное чтоб было какое -то id со страницы в label.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Упрощение скрипта (расширение Хром) x3n1tr0n Javascript под браузер 0 04.02.2015 23:52
Нужны ли дополнительные программы для отображения Java скрипта в браузере? koderman Общие вопросы Javascript 4 07.02.2014 05:25
Настройка отображения div блока m1haluc4 Элементы интерфейса 9 14.07.2013 15:12
Загрузка скрипта в DIV KOTShalun AJAX и COMET 12 18.03.2013 16:03