为什么前两个图像在jquery中加载不正确


Why first two images load incorrectly in jquery

我知道我的问题很复杂,我真的希望有人能帮助我。我创建了一个图片库qih-jquery和php。首先,我从MySql数据库中获取所有图像名称,然后从服务器文件夹中获取它们,并用php调整它们的大小。它创建了缩略图,然后我用jquery创建了一个弹出窗口,显示了大图。之后,我放置了一个上一个和下一个按钮,并告诉jquery从php获取图像结果的数组,并使用json将它们回声到jquery中。然后它遍历数组以创建下一个和上一个效果。然后,当点击下一个和上一个按钮时,我将每个单独的图像居中。当你加载第一张和第二张图片时,它没有居中,而是向右移动。我不明白为什么会发生这种事。我真的需要一些帮助。这里有太多的代码要发布,所以我给你这个网站,你可以在源代码中看到几乎所有的东西。请记住,我使用的是php,所以如果你想知道它是如何在图片中迭代的,那就是为什么。如果有人能帮我的话,谢谢。

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

它被偏移的原因是在加载图像之前,正在计算弹出div的中心边距。请注意,在第一次单击时,它的边距为-37px和-30px。加载一个图像后,调用另一个图像将使用加载的最后一个图像的宽度和高度,这就是为什么您可能会得到不可预测的结果。

查看JQuery的加载事件处理程序,了解如何在图像设置为加载后而不是之前创建回调以调整大小。

您的描述完全使问题过于复杂。浏览器可能不太关心您如何在服务器上生成数组或html,或者它是什么语言的

你的职位问题是一个简单的css问题。您已将弹出窗口的topleft设置为50%。这意味着弹出窗口的左上角将从页面的死点开始,然后向右和向下移动。

使用浏览器控制台检查html元素和应用于它们的css规则,并进行相应的调整。W在控制台上,您可以进行实时编辑,以实时查看调整的影响