使用javascript更改div的边距
我正在制作一个包含图片库的网页。我已经编写了一个javascript函数,当您单击缩影时,可以显示图像的更大版本。该函数的作用是更改隐藏的div中img标记的搜索路径。然后,它更改div的顶部和左侧值,以将div定位在屏幕中心,然后根据图像大小调整div的顶部和左侧边距,以将其中间位置置于屏幕中心 这就是它失败的地方。或者说真的,它起作用了,但不是在它应该起作用的时候。如果我第一次打开一个图像,它从中心的偏移量是错误的,那么顶部和左侧的负边距是错误的。但是,如果我再次打开它,它会工作!如果我打开一个不同宽度和高度的图像,我会得到同样的错误 这是用于设置边距的代码:使用javascript更改div的边距,javascript,css,html,image,Javascript,Css,Html,Image,我正在制作一个包含图片库的网页。我已经编写了一个javascript函数,当您单击缩影时,可以显示图像的更大版本。该函数的作用是更改隐藏的div中img标记的搜索路径。然后,它更改div的顶部和左侧值,以将div定位在屏幕中心,然后根据图像大小调整div的顶部和左侧边距,以将其中间位置置于屏幕中心 这就是它失败的地方。或者说真的,它起作用了,但不是在它应该起作用的时候。如果我第一次打开一个图像,它从中心的偏移量是错误的,那么顶部和左侧的负边距是错误的。但是,如果我再次打开它,它会工作!如果我打开
imagebox.style.marginLeft=(image.width/-2)+'px';
imagebox.style.marginTop=(image.height/-2)+'px';
这在google chrome和safari中运行良好,但在其他浏览器中它并不总是使用这段代码,有时它会给它一个双重调用
最后,我当然会将div visibility设置为visible。尝试jQuery函数.css和.width/.height。它们在几乎所有浏览器中都能正常工作。第一次打开图像时会出现错误。然后放大和缩小页面Ctrl+mousewheel或Ctrl++和Ctrl+-。如果边距神奇地自行修复,那么这是一个常见的重画错误。如果没有,那么我们可以进一步研究代码错误。我这样做并没有解决我的问题,但使用jQuery使我的代码简单了很多。但是,我在微型图像上使用了一个悬停事件来解决这个问题,以便在单击事件之前移动较大图像的容器。