为了账号安全,请及时绑定邮箱和手机立即绑定

//oBoxs[i].style.left=oBoxs[index].style.left; 与oBoxs[i].style.left=oBoxs[index].offsetLeft+"px";为什么不等同

for(var i=0;i<oBoxs.length;i++){
            if(i<cols){
                    hArr.push(oBoxs[i].offsetHeight);
                }else{
                        var minH=Math.min.apply(null,hArr);
                        var index=getMinhIndex(hArr,minH);//封装 找最小值的索引
                        oBoxs[i].style.position="absolute";
                        oBoxs[i].style.top=minH+"px";
                        //oBoxs[i].style.left=oBoxs[index].style.left;
                        oBoxs[i].style.left=oBoxs[index].offsetLeft+"px";
                        hArr[index]+=oBoxs[i].offsetHeight;
                    }
        }

正在回答

1 回答

console.log(oBoxs[index].offsetLeft); //606
console.log('@@');
console.log(oBoxs[index].style.left);//为空

LZ打log就知道这两个的值不同。offsetLeft可以判断一个物体的距父元素的左边距离,输出的是具体的数值;

而style.left是一个属性,是你要赋值给他的,他本身是没有值的,就像变量一样,可以理解为他只是一个变量名字而已。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

//oBoxs[i].style.left=oBoxs[index].style.left; 与oBoxs[i].style.left=oBoxs[index].offsetLeft+"px";为什么不等同

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信