Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   вставка переменной в style.display (https://javascript.ru/forum/events/66890-vstavka-peremennojj-v-style-display.html)

Stalker69 16.01.2017 14:18

вставка переменной в style.display
 
Здравствуйте!

Извините, может наивный вопрос, подскажите пожалуйста, можно вставить значение переменной в строку style.display?

Т.е. есть функция, которая открывает тот или иной блок. В неё передается номер блока.
Сейчас это реализовано так:
function oppen(numer)
{ 
  if (numer == 1) sloy1.style.display = "block";
  if (numer == 2) sloy2.style.display = "block";
  if (numer == 3) sloy3.style.display = "block";

}
ну а дальше показывается соответственно слой с идентификатором sloy1 или sloy2 и т.д.

А возможно как-то написать это одной строкой, что-то типа:

function oppen(numer)
{ 
  var element = 'sloy'+ numer;
 
  element.style.display = "block";

}


Вроде написано логично, но не работает. :cray: Я пробовал ещё много разных вариантов и сразу в строку, без переменной, и с различными кавычками и с плюсом и с точкой - никак не работает. Видимо "дьявол кроется в мелочах", но где??

ksa 16.01.2017 14:22

Цитата:

Сообщение от Stalker69
А возможно как-то написать это одной строкой

Да. :yes:
Если использовать массивы.

рони 16.01.2017 14:56

Stalker69,
function oppen(numer)
{
  document.querySelectorAll("[id^=sloy]")[--numer].style.display = "block";
}

Alexandroppolus 16.01.2017 15:52

рони,

тогда уж проще document.querySelector("#sloy" + numer)

рони 16.01.2017 16:43

Alexandroppolus,
да можно и так :)

Stalker69 17.01.2017 13:24

Спасибо, рони и Alexandroppolus! Всё заработало! :)


Часовой пояс GMT +3, время: 07:42.