Почему первые два изображения загружаются неправильно в jquery - PullRequest
0 голосов
/ 10 марта 2012

Я знаю, что у меня довольно сложный вопрос, и я очень надеюсь, что кто-нибудь сможет мне помочь. Я создал галерею изображений qih jquery и php. Сначала я собираю все имена изображений из базы данных MySql, затем беру их из папки сервера и изменяю их размер с помощью php. Он создает эскизы, затем я создал всплывающее окно с jquery, которое показывает изображение в целом. После этого я помещаю предыдущую и следующую кнопку и приказываю jquery захватить массив результатов изображения из php и передать их в jquery с помощью json. Затем он проходит через массив, чтобы создать следующий и предыдущий эффект. Затем я центрировал каждое отдельное изображение при нажатии следующей и предыдущей кнопки. Когда вы загружаете первое и второе изображение, оно не центрируется и идет вправо. Я не могу понять, почему это происходит. Мне действительно нужна помощь здесь. Здесь слишком много кода для публикации, поэтому я даю вам сайт, и вы можете видеть практически все в исходном коде. Помните, что я использую php, поэтому, если вам интересно, как он перебирает картинки, почему. Спасибо, если кто-нибудь может мне помочь.

http://www.oceanphotostudio.com/test/collection/before-and-after.php

Ответы [ 2 ]

0 голосов
/ 10 марта 2012

Причина, по которой он получает смещение, заключается в том, что поля, которые центрируют всплывающий элемент div, вычисляются до загрузки изображения.Обратите внимание, что при первом клике он будет иметь поля -37px и -30px.После загрузки одного изображения при вызове другого будет использоваться ширина и высота последнего загруженного изображения, поэтому вы можете получить непредсказуемые результаты.

Взгляните на Обработчик событий загрузки JQuery для получения информации о том, как создать обратный вызов для изменения размера после загрузки изображения, а не до этого.

0 голосов
/ 10 марта 2012

Ваше описание полностью усложняет проблему.Браузер может не заботиться о том, как генерировать массив или html на сервере, или на каком языке это

Ваша проблема с позицией - это простая проблема CSS.Вы установили top и left вашего всплывающего окна на 50%.Это означает, что верхний левый угол всплывающего окна будет начинаться с мертвой точки страницы и оттуда будет идти вправо и вниз.

Используйте консоль браузера для проверки html-элементов и применяемых к ним правил css и внесите соответствующие изменения.В консоли вы можете вносить изменения в реальном времени, чтобы увидеть влияние изменений в режиме реального времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...