Jquery 水平等距分布未知数量的图像

Jquery 水平等距分布未知数量的图像,jquery,equals,centering,Jquery,Equals,Centering,无论添加了多少点,我都希望它们在一条线上的间距相等,而不是超过这条线的宽度。 这是我到目前为止所做的,它可以正常工作,直到添加了太多的图像,然后它们就会消失 var count = $('#dots img').length; var dotW = $('.dot').width(); var line = $('#line').width(); var x = count * dotW; var y = line - x; var z = y / (count + 1); $('.dot'

无论添加了多少点,我都希望它们在一条线上的间距相等,而不是超过这条线的宽度。 这是我到目前为止所做的,它可以正常工作,直到添加了太多的图像,然后它们就会消失

var count = $('#dots img').length;
var dotW = $('.dot').width();
var line = $('#line').width();

var x = count * dotW;
var y = line - x;
var z = y / (count + 1);

$('.dot').css('margin-left', z);
查看jsfiddle。 复制并粘贴图像标记以测试更多内容

我错过了什么


谢谢。

在页面加载每个“点”后,只需应用具有所需属性(可能是边距)的css类即可。即:


您的计算很好,是HTML中的空白导致了比预期更多的空间


.

您的问题是图像之间的空白。使用此CSS:

#dots {
    font-size: 0;
}
而且效果很好

编辑:

玩了一会儿。如果需要,可以用图像替换div。确保从图像中删除尽可能多的空白


我尝试将结果除以2,并将该变量设置为bot right和left margin,但没有运气这是一个轻微的改进,但是在我的网站上,当我添加30多张图像时,它仍然超出了线条的宽度。这是一个应用程序,点代表页面(我不知道会有多少)。对不起,jimjimmy,页面是本地的,我在工作时无法访问ftp。糟糕,我知道。问题是页边空白变成了底片,将图像拖出了元素。我忘了提到我必须使用Internet Explorer 7标准。即使使用错误修复程序{zoom:1;*display:inline},它们也在生成行。在ie7中工作有希望吗?非常感谢您的帮助。可以尝试做
var z=Math.floor(y/(count))。在更好的浏览器上也不起作用,但可能会修复IE。由于某种原因,IE不喜欢ie7standards模式下的JSFIDLE,或者我会测试它。我并不是真正为IE而发展,所以我实在帮不了什么忙。对不起:/
#dots {
    font-size: 0;
}