Я создаю веб-страницу с картинной галереей.Я написал функцию javascript для отображения увеличенной версии изображения при нажатии на миниатюру.Функция выполняет то, что она изменяет путь поиска тега img в скрытом элементе div.Затем он изменяет верхнее и левое значения div, чтобы расположить div в центре экрана, а затем должен отрегулировать верхний и левый поля div в зависимости от размера изображения, чтобы поместить его середину в центр экрана..
Вот где это не получается.Или действительно, это работает, но не тогда, когда это должно.Если я открываю изображение в первый раз, оно имеет неправильное смещение от центра (отрицательные поля для верхнего и левого полей неверны).Однако, если я открою его снова, это сработает!Я получаю ту же ошибку, если открываю изображение с другой шириной и высотой.
Этот код используется для установки полей:
imagebox.style.marginLeft=(image.width/-2)+'px';
imagebox.style.marginTop=(image.height/-2)+'px';
Это прекрасно работает в Google Chrome ии в сафари, но в других браузерах он не всегда использует этот код, и иногда он дает ему двойной вызов.
И в конце я, конечно, устанавливаю видимость div для visible.