Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Количество объектов в function (https://javascript.ru/forum/misc/58705-kolichestvo-obektov-v-function.html)

f1nik 06.10.2015 11:14

Количество объектов в function
 
Здравствуйте.
Использую простенькую функцию:

function hide(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        node.style.display = 'none';
    } 
}
function show(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        node.style.display = 'inline';
    } 
}


Так вот. У меня несколько картинок(объектов) и замысел в том, чтобы при нажатии на одну кнопку - появлялась одна картинка, а все остальные исчезали
Прописал вот что:

onclick="show('car'),hide('car2','car3','car4','car5','car6')"


Так вот, в итоге, почему-то hide применяется не ко всем объектам, которые я прописал, а только к первым 2 (или 3), остальные игнорируют функцию.
Почему?
Какие есть пути решения проблемы?
Заранее благодарен.

ksa 06.10.2015 11:40

Цитата:

Сообщение от f1nik
а только к первым 2 (или 3)

При таком использовании
Цитата:

Сообщение от f1nik
hide('car2','car3','car4','car5','car6')
function hide(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        node.style.display = 'none';
    }
}

Должно применяться только к первому ИД... :)

hide('car2','car3','car4','car5','car6');
function hide(nodeId){
	alert(nodeId);
	var node = document.getElementById(nodeId);
	if (node){
		node.style.display = 'none';
	};
};

ksa 06.10.2015 11:45

Цитата:

Сообщение от f1nik
Какие есть пути решения проблемы?

Таки правильно выбирать нужные элементы...

Или использовать правильный вариант работы с переменным числом параметров...
http://javascript.ru/basic/functions...lom-parametrov

f1nik 06.10.2015 12:06

Цитата:

Сообщение от ksa (Сообщение 390965)
Таки правильно выбирать нужные элементы...

Или использовать правильный вариант работы с переменным числом параметров...
http://javascript.ru/basic/functions...lom-parametrov

Никак, обязательно нужно, чтобы 5 остальных картинок скрывались, а одна наоборот показывалась.
Что касается скрипта, пытался разобраться, но что-то совсем не бум-бум я в этом. Ну, пытаюсь, но это не совсем мое, я использую стандартный скрипт, а вот сейчас запара вышла с ним.

Так как в итоге должна выглядеть функция и почему(с точки зрения логики) функция применяется только к первому объекту?

ksa 06.10.2015 13:23

Цитата:

Сообщение от f1nik
и почему(с точки зрения логики) функция применяется только к первому объекту?

Нет никакого "объекта"... У тебя описан всего один параметр и функция (по ее коду) работает только с ним.

ksa 06.10.2015 13:24

Цитата:

Сообщение от f1nik
Что касается скрипта, пытался разобраться, но что-то совсем не бум-бум я в этом.

Если ты в этом не понимаешь - с чего решил, что сможешь сделать? :D

Пиши в раздел "Работа", может и желающие для тебя найдутся...

f1nik 06.10.2015 15:22

Спасибо за помощь.
Все получилось. Вопрос закрыт.


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