Показать сообщение отдельно
  #1 (permalink)  
Старый 02.10.2009, 14:27
Новичок на форуме
Отправить личное сообщение для Hazard Посмотреть профиль Найти все сообщения от Hazard
 
Регистрация: 02.10.2009
Сообщений: 5

Кнопочка ЗАПОМНИТЬ
Здравствуйте, форумчане.

Обращаюсь за помощью к спецам, поскольку в яве не очень силен (а заодно может кому-то и пригодится в дальнейшем эта тема).

На странице http://www.dream-land.ru/catalog/beds/all_beds_test.php на трех верхних картинках мы видим небольшое меню - 3 иконки - Распечатать, Увеличить, Запомнить. С первыми двумя справился, речь пойдет о третьей. Задача следующая: необходимо, чтобы при клике иконка выделялась (подгружается вторая иконка другого цвета), а при последующем клике выделение снималось и загружалась опять же первая иконка. Таким образом пользователь мог бы запомнить интересующий его товар в каталоге. Когда я тестировал вышеуказанное на одной иконке все работало, как только поставил идентичные иконки на другие товары начались глюки (попробуйте покликать по иконкам). Видимо не разобрался с ID-шками для иконок (как их поставить для каждой?).

Вот код:
<div style="RIGHT: 14px; POSITION: absolute; TOP: 0px; cursor: hand;" alt="Запомнить" title="Запомнить">
<script type="text/javascript">
var apict1 = new Array('/catalog/beds/images/ico/vg.gif'); // исходные файлы
var apict2 = new Array('/catalog/beds/images/ico/vo.gif'); // заменяемые файлы
var aflag = new Array(apict1.length); // массив флагов
/* Формирование строки тегов, описывающих изображения */
var xstr = '';
for(i = 0; i < apict1.length; i++){
xstr += '<img id="i'+i+'" src="'+apict1[i]+'" onclick="imgchange(this.id);">';
}
document.write(xstr);
function imgchange(XZid){
var xid = XZid;
var n = eval(xid.replace('i','')); // выделяем номер элемента
if(aflag[n]){
document.getElementById(xid).src = apict1[n];
} else {
document.getElementById(xid).src = apict2[n];
}
aflag[n] =!aflag[n];
}
</script></div>

Итак, вопросы:
1). Как избавиться от глюков и сделать так, чтобы каждую иконку можно было выделить и затем снять с нее выделение?
2). Как избавиться от необходимости каждый раз прописывать весь громоздкий шрифт для каждой иконки и тем самым нагружать код?
3). Очень важный вопрос. Допустим пользователь выбрал несколько интересных ему товаров (запонив их нажатием на иконки) и ушел со страницы каталога. Как добиться того, чтобы запомненные иконки оставались нажатыми при возврате к странице?

Заранее спасибо, очень надеюсь на помощь!
Ответить с цитированием