【发布时间】:2011-11-29 21:53:31
【问题描述】:
我在页面加载时使用 jQuery 定位的 div 中有一组图像。
var myimg = $('#myimg');
... // Calculate x and y
myimg.css('left', x);
myimg.css('bottom', y);
每个图像都有一个position: absolute 样式,而它们包含的div 有一个position: relative 样式。
这适用于除 Internet Explorer 8 之外的所有浏览器(尚未尝试 9)。图像没有设置它们的位置。我可以确认 JavaScript 正在运行,特别是因为我还使用 jqueryrotate 旋转图像,以便在我定位图像时旋转图像,并且它们在 IE 中显示为旋转。
编辑
这是完整的 JavaScript 代码。我正在尝试做的具体是将图像排列成一个圆圈。
var num_imgs = 14;
var angle_delta = 360 / num_imgs;
var center_x = 365;
var center_y = 245;
var radius = 230;
for (var i = 0; i < num_imgs; ++i) {
var angle = (angle_delta * i) + 90;
var radians = angle * 0.0174532925;
var x = Math.round(radius * Math.cos(radians));
var y = Math.round(radius * Math.sin(radians));
var img = $('#myimg-' + i);
img.rotate(90 - angle); // Only part of the code that works
img.css('left', center_x + x);
img.css('bottom', center_y + y);
}
【问题讨论】:
-
这在 IE8 中应该可以正常工作。您能否提供您遇到问题的完整、准确的代码?
-
您没有在多个元素上使用
myimgID,是吗?我问只是因为你说你有“一组图像”。 -
jsfiddle.net/SLgVy/2 工作正常。请注意,图像必须绝对位于第一个位置。
-
@mblase75 当我说“一组图像”时,我的意思是我在 for 循环中迭代每个图像,其中真实 ID 为
'myimg-' + i。
标签: jquery css internet-explorer position