Противоположные значения

Avenus

Under Glory Yield
Почему я использовал indexOf:
Есть javascript-класс для работы с деревом (не мой):
В нём изображения + и - в структуре.
Путь и названия изображений передаются в класс как настройки:
PHP:
options.imageFolder='/lib/img/tree/';
options.plusImage='treeplus.gif';
options.minusImage ='treeminus.gif';
Также есть еще и другие моменты, когда в классе переключаются другие изображения для node дерева.
Получается нужно тогда в options указывать полный путь для каждого изображения и сменять просто src, а не искать совпадение по indexOf :)

-~{}~ 29.12.09 23:06:

самое простое, как подобное можно реализовать, это булевая переменная, которой меняем значение на его отрицание
dimagolov, это и есть C и !C при условии, что в C значение true или false?

-~{}~ 29.12.09 23:08:

А пока это всё выглядит как "пойди туда, не знаю куда, найди то, не знаю что"
Mols, возможно... а может быть и нет :)

-~{}~ 29.12.09 23:15:

Вот один из таких моментов, про которые я писал:
PHP:
...
for(var no=0;no<menuItems.length;no++){
 ...
 folderImg.src=options.imageFolder+menuItems[no].className;
 ...
};
...
Т.е. если указать полный путь, то работать не будет :)

-~{}~ 29.12.09 23:16:

Но это уже отступление от темы, поэтому развивать не стоит.
 

dimagolov

Новичок
это часом не dTree? а то я расшивал одному товарищу бока в подобном скрипте отображения древовидных структур на JS. Хотя сейчас глянул исходники, там не так эти переменные называются.

Это и есть C и !C при условии, что в C значение true или false?
ну так а я тебе о чем? следай себе свойство isPlus и по нему меняй src, а значение самого свойства меняй на обратное.

п.с. в dTree выбор иконок делался тернарными операторами в зависимости от одного из (или нескольких) булевых флагов статуса узла. то есть по клику менялся статус, а потом по статусу отображался узел по-новому.

-~{}~ 29.12.09 16:24:

кстати, там был объект Node:
PHP:
function Node(id, pid, name, url, title, target, icon, iconOpen, open) {
	this.id = id;
	this.pid = pid;
	this.name = name;
	this.url = url;
	this.title = title;
	this.target = target;
	this.icon = icon;
	this.iconOpen = iconOpen;
	this._io = open || false;
	this._is = false;
	this._ls = false;
	this._hc = false;
	this._ai = 0;
	this._p;
	this.defaultSelected= false;
};
и создавался массив таких объектов, по одному на каждый узел или лист дерева, в котором хранилось состояние каждого узла. это позволяло отображать скрытую ветку в том же виде, что и до скрытия, так как состояние ее узлов не менялось, менялось состояние корневого для нее узла и некоторые свойства в DOM
 

Avenus

Under Glory Yield
это часом не dTree?
Нет :)
х.з. что за класс, очень давно откопал его... сейчас переделываю под jQuery его и в этом месте со сменой + и - там так хреново сделано, что решил переделать...
Первое, что пришло в голову - это противоположные значения, но теперь вижу, что можно по-другому сделать :)

P.S. Почему этот класс решил переделать, а не взять другой. Не нашел легкий с drag & drop под jQuery. Пробовал много разных.

К тому же у меня получилось связать все это дело с php-классом работы с Nested Sets деревом :)

-~{}~ 29.12.09 23:43:

Тут пост создавал... потому как 2 дня провозился с этим Nested Sets: http://phpclub.ru/talk/showthread.php?s=&threadid=117551&rand=8
 
Сверху