我正在制作包含图片库的网页。我已经写了一个JavaScript函数来显示一个更大版本的图像,当你点击缩图。该函数的功能是改变隐藏的div内img标签的搜索路径。然后,它会更改div的顶部和左侧值,以将div放置在屏幕中央,然后根据图像大小调整div的顶部和左侧边距,以将其中间放在屏幕中央。使用javascript更改div的边距
这是失败的地方。或者真的,它有效,但不是当它应该。如果我第一次打开图片,它与中心的偏移量是错误的(上边和左边的负边距是错误的)。如果我再打开它,它就会起作用!如果我用不同的宽度和高度打开图像,我会得到同样的错误。
这是用于设置页边距代码:
imagebox.style.marginLeft=(image.width/-2)+'px';
imagebox.style.marginTop=(image.height/-2)+'px';
这个作品在谷歌浏览器就好了,并在Safari,但在其他浏览器中它并不总是使用此代码,有时给它双重打电话。
最后,我当然将div的可见性设置为可见。
第一次打开图像以获取错误。然后放大和缩小页面(Ctrl +鼠标滚轮,或者Ctrl +和Ctrl + - )。如果边缘“神奇地”修复了自己,那么这是一个常见的重绘错误。如果不是,那么我们可以进一步查看代码错误。 –