我试图重新应用元素的偏移量,当它们的尺寸发生变化时,它会在调整窗口大小时起作用。按+或 - 更改元素的宽度 - http://jsfiddle.net/srfy5qs4/1/
var leg = document.getElementsByClassName('leg');
var num = document.getElementsByClassName('num');
var inc = document.getElementById('inc');
inc.addEventListener('click', expand);
window.addEventListener('resize', render);
function expand(){
for(var i=0; i<=leg.length; i++){
leg[i].style.width = 100+"px";
}
render();
};
function render(){
for(var i=0; i<=leg.length; i++){
num[i].style.left = leg[i].offsetLeft+"px";
}
};
答案 0 :(得分:0)
在i<=leg.length
和i<leg.length
函数中将expand
更改为render
。数组从零开始。如果您执行的for
循环将持续到i==leg.length
,则会转到5
- leg[5]
并且num[5]
不存在。它会导致您的代码在render()
函数中调用expand()
之前出错。
希望这有帮助。