我想使用javascript来更改许多单独DIV的左边距值。问题是:
这是我所拥有的代码,它只是将相同的margin-left应用于所有DIV。
<script>
b = document.getElementsByClassName('spacing');
for (i = 0; i < b.length; i++) {
b[i].style.marginLeft = "100px";
}
</script>
有没有办法让javascript顺序找到该类的每个实例,而不是简单地将margin-left:100px应用于all,它执行类似的操作(应用于类+ X的最后一个实例的边距),因此每个100个DIV都有相同的className最终有一个唯一的marginLeft值?
你想要做的是通过循环的每次迭代来跟踪你增加的余量:
b = document.getElementsByClassName('spacing');
var margin = 0;
for (i = 0; i < b.length; i++) {
margin += 100;
b[i].style.marginLeft = margin + "px";
}
这应该够了吧。
在这里查看一个工作示例:https://jsfiddle.net/c4p9ry46/
是的有一种方法您可以简单地将保证金数量乘以迭代次数,如i * 100 +'px'而不是此“100px”
var b = document.getElementsByClassName('spacing');
for (i = 0; i < b.length; i++) {
b[i].style.marginLeft = i*5+'px';
}