Javascript.RU

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

Помогите с объетами и функциями
function show (textarea, block) {
bl({'show_block':"block",
block : "none"}); 
}

function bl (obj) { 
for (var block in obj) { document.getElementById(block).style.display=obj[block];
} 
}


Вот две функции. Функция show в себе вызывает функцию bl и передает ей объект. Но вся проблема в том, что функция show передает ключ в виде аргумента, который она принимает. И получается так, что, это ошибку не вызывает, но, как я понял, передается "" и из-за этого код работает некорректно. Что не так и что поправить чтобы работало?

Последний раз редактировалось VladShestakov999, 01.06.2013 в 20:38.
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2013, 10:37
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Вообще странно, что не работает.

function show(textarea, block)
{
   bl({
   show_block: 'block',
   block: 'none'
   });
}

function bl(a)
{
   for(i in a) document.getElementById(i).style.display = a[i];
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2013, 12:09
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Все правильно. Дело в том, что нет разницы между взятым в кавычки 'show_block' и не взятым block. Кавычки нужны для таких случаев:
({
    "a a a": "без кавычек будет ошибка из-за пробелов"
})

В твоем случае нужно делать так:
function show (textarea, block) {
    var object = { show_block: "block" };
    object[block] = "none";
    bl(object); 
}

Ruslan_xDD, фу-фу-фу! for.. in без var - так пишут только нубы!
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2013, 19:38
Аватар для VladShestakov999
Интересующийся
Отправить личное сообщение для VladShestakov999 Посмотреть профиль Найти все сообщения от VladShestakov999
 
Регистрация: 01.06.2013
Сообщений: 28

Спасибо, очень помог.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите с функциями .append() и .prepend() eko24 jQuery 2 07.11.2012 19:12
ПОМОГИТЕ!!! JavaScript aktau07 Общие вопросы Javascript 9 03.10.2011 23:10
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите написать скрипт для корзины Deep Элементы интерфейса 1 19.06.2010 14:46