У меня есть несколько значков, которые пользователь выбирает своей мышью.
У меня есть эта серия значков, где я могу выбрать и установить их границу.Я ограничиваю количество выбранных значков до 5. Первый выбранный станет желтой рамкой.Следующие 4 будут черной рамкой.
На document.ready я делаю:
$ ('img.selectable'). Click (function () {image_click (this);});
Для CSS:
.selectable {
border: 3px solid #ebe6b3;
float:left;
margin:1px;
}
Для HTML:
<img class="selectable" src="img/first_icon.png">
У меня есть эта функция:
function image_click(e)
{
if($(e).data("clicked")=="yes")
{
images_selected--;
$(e).data("clicked","no").css('border','3px solid ' + NEUTRAL_COLOR);
if(images_selected==1)
{
$('img.selectable').not( e ).filter(function() {
return $( this ).data("clicked")=="yes";
}).css('border','3px solid ' + YELLOW_COLOR);
}
}
else
{
if (images_selected<5)
{
images_selected++;
if(images_selected==1)
{
$(e).data("clicked","yes").css('border','3px solid ' YELLOW_COLOR);
}
else
{
$(e).data("clicked","yes").css('border','3px solid ' + BLACK_COLOR);
}
}
}
};
Должен быть первая иконка , которая будет постоянно желтой.Я думал о том, чтобы сделать это с массивом порядка, который хранит порядок объектов.Дело в том, что я не смог вызвать объект из массива и все еще сохранить его функцию CSS.
Я думал о чем-то вроде:
var x=[];
в image_click(e){..
в какой-то момент я сохраняю объект:
$(e).data("order",clicked_img);
x[clicked_img]=e;
, а когда вынимаю его:
alert(x[clicked_img].data("order"));
...}
НО .... Кажется, у меня нетдоступ к данным больше.Например, когда объект покинул область jQuery, он потерял свои гражданские права.Я не знаю, как получить доступ к переменным данных.
Помогите, пожалуйста!Спасибо!