Добрый день. Прошу помощи. Имеется цикл в который передаются объекты неких новостроек (дома) которые отображаются на плане.
for (var house_pos in paths_plan) {
var obj = r1.path(paths_plan[house_pos].path);
let attr = attributes;
arr[obj.id] = house_pos;
var hover_status = paths_plan[arr[obj.id]].status;
var house = paths_plan[arr[obj.id]].house;
switch (hover_status) {
case 1:
attr.fill = house_status_1
/*тут идет балун*/ $(".plan_baloon").removeClass("sold").removeClass("booked").addClass("free");
$(".plan_baloon").attr("id", "house_" + house);
$(".plan_baloon").text("№" + house);
break
case 2:
attr.fill = false
break
case 3:
attr.fill = false
break
}
Прошу помочь сделать отображение балунов над всеми домами. То есть те дома у которых hover_status === 1 должны иметь сверху балун. У меня всегда отображается только один. Я так понимаю он последний элемент в массиве.
Если же сделаю подобное но с hover то есть показать балун при наведении мышки на дом, тут все нормально. Но мне нужно что бы балуны были статично всегда над теми домами что имеют hover_status === 1.
Вот так с hover:
switch (hover_status) {
case 1:
attr.fill = house_status_1
obj.hover(function () {
var house = paths_plan[arr[this.id]].house;
var hover_status = paths_plan[arr[this.id]].status;
if (hover_status == 1) {
this.animate({
fill: house_status_1
}, 10);
$(".plan_baloon").removeClass("sold").removeClass("booked").addClass("free");
$(".plan_baloon").attr("id", "house_" + house);
$(".plan_baloon").text("№" + house);
console.log("house_" + house);
} else if (hover_status == 2) {
this.animate({
fill: house_status_2
}, 10);
$(".plan_baloon").removeClass("free").removeClass("booked").addClass("sold");
$(".plan_baloon").attr("id", "house_" + house);
$(".plan_baloon").text("№" + house);
console.log("house_" + house);
} else if (hover_status == 3) {
this.animate({
fill: house_status_3
}, 10);
$(".plan_baloon").removeClass("sold").removeClass("free").addClass("booked");
$(".plan_baloon").attr("id", "house_" + house);
$(".plan_baloon").text("№" + house);
console.log("house_" + house);
}
})
break
case 2:
attr.fill = false
break
case 3:
attr.fill = false
break
}