hoveredElements[ih].element.show()
으로 처리 할 수 있습니다.
또는 item.element.show();
아래에서 약간 리팩토링 한 코드를 따르는 경우.
if ($('#demo').length >0) {
var elementPositions = []; // didn't find it declared in your code
$('#demo area').each(function() {
var offset = this.coords,
coordarray = offset.split(","),
left = coordarray[0],
top = coordarray[1],
right = coordarray[2],
bottom = coordarray[3],
id = this.id,
hoveredElements = [];
elementPositions.push({
element: $(this),
top: top,
bottom: bottom,
left: left,
right: right,
id: id,
});
$("body").mousemove(function(e) {
/*
for (var ih = 0; ih < hoveredElements.length; ih++) { //for loop over all hovered elements
var id = hoveredElements[ih].id;
$('#overlay' + id).hide();
}
*/
hoveredElements.forEach(function(item) {
item.overlay.hide();
});
hoveredElements = [];
var xPosition = e.pageX;
var yPosition = e.pageY;
for (var ie = 0; ie < elementPositions.length; ie++) {
var test = elementPositions[ie].id;
if (xPosition >= elementPositions[ie].left &&
xPosition <= elementPositions[ie].right &&
yPosition >= elementPositions[ie].top &&
yPosition <= elementPositions[ie].bottom) {
// The mouse is within the element's boundaries
hoveredElements.push({
element: elementPositions[ie].element,
overlay: $('#overlay' + test), // store overlay too
id: test
});
}
} //end of for loop over all elements
/*
for (var ih = 0; ih < hoveredElements.length; ih++) { //for loop over all hovered elements
var id = hoveredElements[ih].id;
$('#overlay' + id).show();
$(this).show(); // ???
}
*/
hoveredElements.forEach(function(item) {
item.overlay.show();
item.element.show();
});
});
});
}
편집 해 주셔서 감사합니다. 계속 진행하는 방법에 대해 나에게 제안 해 줄 수 있을까요? – FSS
'실제 직사각형'이란 무엇입니까? 그것이 지역 요소입니까? –
예, 모든 면적 요소는 직사각형입니다. – FSS