У меня есть divs с class="myDiv"
. Мне нужно сделать эту логику: по мыши, я хочу показать всплывающее окно в середине div.Абсолютное положение после масштабирования
Для этого у меня есть следующие:
$(".myDiv").mouseover(function() {
positionDiv($(this).position().left + $(this).width()/2, $(this).position().top + $(this).height()/2);
});
function positionDiv(xPosition ,yPosition) {
$("#popupWindow").css("left", xPosition + "px");
$("#popupWindow").css("top", yPosition + "px");
$("#popupWindow").show();
}
CSS-:
.popupWindow{
position:absolute;
width:313px;
height:383px;
display:none;
}
Это положение всплывающего окна в середине DIV на мыши над. В этот момент все отлично работает.
Однако, если сайт увеличен (с использованием функции масштабирования браузера), позиция будет перепутана. Всплывающее окно больше не отображается в середине myDiv
.
Любая идея в чем проблема?
Edit:
Для получения дополнительной информации, если он будет создан, и я ее увеличить, это прекрасно. Но когда я перемещаю мышь на другую myDiv
, и новое всплывающее окно появляется в странной позиции. Левый и верхний атрибут Div испорчены.
Вы будете необходимо зафиксировать событие '.resize()' и сделать ссылку на вашу функцию. – Ohgodwhy
Неужели это беспорядок, когда вы увеличиваете масштаб ПОСЛЕ того, как он был центрирован, или если страница загружена увеличенной? –
№. Если он создается, и я увеличиваю его, это нормально. Но затем я перемещаю мышь в другой myDiv, и новое всплывающее окно появляется в странной позиции – Youssef