Я написал пользовательскую галерею/лайтбокс с модальным окном, и у меня возникли проблемы с позиционированием изображения. В основном все в порядке, когда вы выбираете изображение и последовательно щелкаете, но если вы выходите из изображения, а затем снова открываете то же изображение, положение смещается вправо. Я понятия не имею, в чем может быть проблема. У меня есть абсолютное позиционирование ‹ img > и относительный контейнер. Я установил CSS для изображения слева: 50%; и сверху: 50%; а затем используйте JS для вычисления отрицательного левого и верхнего поля. Кто-нибудь знает, почему позиция изменится при повторном открытии изображения? Jsfiddle связан ниже. Заранее спасибо!!
CSS:
#photoViewer {
display: inline-block;
position: relative;
margin: 0 auto;
}
#photoViewer img {
position: absolute;
top: 50%;
left: 50%;
max-height: 70vh;
}
JS для маржи:
$img.css({
marginLeft: -$img.width() / 2,
marginTop: -$img.height() / 2
})
и для размера контейнера div:
function adjustSize() {
var $width = $current.width();
var $height = $current.height();
$frame.css({
width: $width,
height: $height
});
}
(Я получил много этого кода из книги Джона Дакетта "Javascript & jQuery", но изменил его и объединил несколько разных элементов/идей).
Ссылка на jsFiddle: https://jsfiddle.net/jessereitz1/6nxg21a3/1/