更改元素尺寸时重新应用偏移值

时间:2017-11-26 18:14:40

标签: javascript

我试图重新应用元素的偏移量,当它们的尺寸发生变化时,它会在调整窗口大小时起作用。按+或 - 更改元素的宽度 - 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";
    }
};

1 个答案:

答案 0 :(得分:0)

i<=leg.lengthi<leg.length函数中将expand更改为render。数组从零开始。如果您执行的for循环将持续到i==leg.length,则会转到5 - leg[5]并且num[5]不存在。它会导致您的代码在render()函数中调用expand()之前出错。

希望这有帮助。