2014-03-13 34 views
2

我试图建立一个纯粹的JavaScript内容滑块,我被困在相同的问题近两个小时。仅用于第一项的循环改变样式

该循环应该将所有“容器”div放在一起以便将来滑动。

jsfiddle

var sliderWidth = sliderActive[0].offsetWidth; 

for (var i = 0; i < container.length; i++) { 
    container[i].style.left = sliderWidth * i; 
} 

想不通为什么它循环一次。有任何想法吗?

+0

做它循环只有一次或者它仅改变第一个元素?那里可能会有很大的差异。你在'for'循环中尝试过'console.log'吗? – lascort

回答

3

for -loop没有问题。它实际上正确设置left属性,但单独一个数字(0除外)对于此属性不是有效值。

尝试指定一个单位的样式,像这样:

container[i].style.left = (sliderWidth * i) + 'px'; 
+0

太棒了!我打破了我的头,我忘了我正在设置内联样式,因此应该指定一个单位。它的工作原理,非常感谢。 –

相关问题