Показать сообщение отдельно
Старый 10.01.2006, 21:00
3r0jan вне форума Посмотреть профиль Отправить личное сообщение для 3r0jan Найти все сообщения от 3r0jan
  № 15  
Ответить с цитированием
3r0jan

Регистрация: Dec 2005
Сообщений: 183
Отправить сообщение для 3r0jan с помощью ICQ
блин что то недогоню разнае масивы создаёт хоть ты тресни чё поправить чтоб один был масив ?
Код:
// кнопки + и -
pl.onRelease = function() {
	k += 1;
};
mn.onRelease = function() {
	k -= 1;
	if (k<0) {
		k = 0;
	}
};
//создаём масив
A = new Array();
//Сортировка
function Com(A1, A2) {
	if (A1.x>A2.x) {
		return true;
	}
	return false;
}
function Sort() {
	A.sort(Com);
}
var fe_l = 0;
var fe_r = N0;
//Нахождение элемента
function FindElement(x) {
	fe_l = 0;
	fe_r = A.length-1;
	if (A[fe_l].x == x) {
		return fe_l;
	}
	if (A[fe_r].x == x) {
		return fe_r;
	}
	m = Math.round((fe_r+fe_l)/2);
	while (m != fe_l && m != fe_r) {
		if (A[m].x == x) {
			return m;
		}
		if (A[m].x<x) {
			fe_l = m;
		} else {
			fe_r = m;
		}
		m = Math.round((fe_r+fe_l)/2);
	}
	return -1;
}
//Добавление элемента
function AddElement(x, caption) {
	res = FindElement(x);
	Obj = new Object();
	Obj = {x:x, caption:caption};
	A.push(Obj);
	if (x>A[A.length-2].x) {
		return A.length-1;
	}
	if (x>A[fe_l]) {
		index = fe_r;
	} else {
		index = fe_l;
	}
	for (i=A.length-1; i>index; i--) {
		A[i] = A[i-1];
	}
	A[index] = Obj;
	return index;
}
//Удаление элемента из масива
function DelElement(x) {
	res = FindElement(x);
	if (res == -1) {
		return -1;
	}
	for (i=res; i<A.length-1; i++) {
		A[i] = A[i+1];
	}
	A.pop();
	return res;
}
InitArray();
Sort();
txt = "";
for (i=0; i<A.length; i++) {
	txt += i+' : '+A[i].x+'  '+A[i].caption+"\n";
}
txt += "-----------------------------\n";
output = txt;
v.onRelease = function() {
	if (tov == 1) {
		_parent.text_info = "товар уже есть в корзине. для добавления другого колличество данного товара необходимо удалить из корзины уже существующий";
	} else if (k == 0) {
		_parent.text_info = "невозможно добавить в корзину 0 едениц товара";
	} else {
		res = AddElement(inp+" , "+k, "штук в корзине");
		txt = "";
		for (i=0; i<A.length; i++) {
			txt += i+' : '+A[i].x+'  '+A[i].caption+"\n";
		}
		txt += "-----------------------------\n";
		txt2 = k+" шт. "+inp+" добавлено в корзину ";
		_parent.output = txt;
		_parent.text_info = txt2;
		tov = 1;
		kol = k;
	}
};
out.onRelease = function() {
	res = DelElement(inp+" , "+kol);
	if (res == -1) {
		output += "нельз\xff удалить несуществующий товар!\n";
	} else {
		txt = "";
		for (i=0; i<A.length; i++) {
			txt += i+' : '+A[i].x+'  '+A[i].caption+"\n";
		}
		txt += "-----------------------------\n";
		txt2 = "Элемент "+inp+" удален из корзины ";
		_parent.output = txt;
		_parent.text_info = txt2;
		tov = 0
	}
};
как видно два окна информирующих о том что происходит находятся на уровень ниже _parent.output и _parent.text_info вобщем дела такие при нажатии на кнопку v.onRelease в дублированом муве1 к примеру в _parent.output вы водится такой текст (0 : проверка 1 , 3 штук в корзине) а при нажатии на ту же кнопку только в другом дубле должна добавляться запись типа этой только уже с другим порядковым номером! а получается так что старая запись исчезает и появляется новая причём при повторном нажатии на ту же кнопку в дубле 1 появляется старая строка только к ней приписывается ещё одна ну только с другим порядковым номером как должно было быть при нажатии на кнопку в другом дубле. отсюда я сделал вывод что масивы создаются внутри дублей а текст трэйсится на уровень ниже потому просто заменяется ! как вынести масив из дубля и чтоб он был общим для всех кнопок


нифика се грузанул , надеюсь кто нить поможет


Последний раз редактировалось 3r0jan; 11.01.2006 в 02:38.