Javascript.RU

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

вставка переменной в 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";

}


Вроде написано логично, но не работает. Я пробовал ещё много разных вариантов и сразу в строку, без переменной, и с различными кавычками и с плюсом и с точкой - никак не работает. Видимо "дьявол кроется в мелочах", но где??
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2017, 14:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от Stalker69
А возможно как-то написать это одной строкой
Да.
Если использовать массивы.
Ответить с цитированием
  #3 (permalink)  
Старый 16.01.2017, 14:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Stalker69,
function oppen(numer)
{
  document.querySelectorAll("[id^=sloy]")[--numer].style.display = "block";
}
Ответить с цитированием
  #4 (permalink)  
Старый 16.01.2017, 15:52
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

рони,

тогда уж проще document.querySelector("#sloy" + numer)
Ответить с цитированием
  #5 (permalink)  
Старый 16.01.2017, 16:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Alexandroppolus,
да можно и так
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2017, 13:24
Новичок на форуме
Отправить личное сообщение для Stalker69 Посмотреть профиль Найти все сообщения от Stalker69
 
Регистрация: 16.01.2017
Сообщений: 2

Спасибо, рони и Alexandroppolus! Всё заработало!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
посылка переменной kent0026 jQuery 5 04.01.2014 17:34
Как значение переменной вставить в имя переменной? jsgogo Общие вопросы Javascript 3 02.06.2013 12:11
вставка переменной в функцию аяксом dmitro AJAX и COMET 9 15.03.2012 10:40
Вставка переменной в фильтр nikolayseo Общие вопросы Javascript 5 04.02.2012 20:53
Вставка переменной в animate() Freakmeister jQuery 1 06.04.2011 21:45