①处为何是0px呢 还有③为何是10px呢?
发布网友
发布时间:2022-04-20 15:31
我来回答
共1个回答
热心网友
时间:2022-04-20 17:00
如果题主打断点单步调试的话就会发现问题所在。
首先var oDiv=document.getElementById('div1'); 获取对象
oDiv.style.left=oDiv.style.left+10+'px';
右半部分oDiv.style.left的值是‘0px’,'0px'+10+'px'的结果是‘0px10px’这是一个字符串,当把它赋值给oDiv.style.left时,js会进行判断,已经读到了‘px’于是会把后面的东西舍弃,因此最后left的值为‘0px’
offsetLeft返回的值是数字型的‘0’,因此通过运算最后值为‘10px'。
下面的问题同理