猿问

javascript瀑布流图片定位问题

for(var i = 0; i < aBox.length; i++) {

        if(i < cnum) {

            aBox[i].style.top = 0 + 'px';

            aBox[i].style.left = boxwidth * i + 'px';

            aBoxHeight.push(aBox[i].offsetHeight);

        }

        else {

            var minHeight = Math.min.apply(null,aBoxHeight);

            var minIndex = getIndex(aBoxHeight,minHeight);

            aBox[i].style.position = 'absolute';

            aBox[i].style.top = minHeight+'px';

            aBox[i].style.left = aBox[minIndex].offsetLeft+'px';

            aBoxHeight[minIndex] +=aBox[i].offsetHeight; 

        }

    }

  aBox[i].style.top = 0 + 'px';前面为什么不加上一句 aBox[i].style.position = 'absolute';第一行以外的图片定位都加了的

赵日天l
浏览 1160回答 1
1回答

回夢

position:absolute是绝对定位,进行绝对定位之后元素脱离文本流,以父辈往上拥有position:relative属性的元素进行定位。这时候可以使用top left bottom right进行位置定位。我虽然没看到其余代码,但是可以猜测循环进行之时能跑进i < cnum这个条件里的 aBox [i]元素应该已经有了position:absolute属性。所以再次加上这一句等于重复操作。当然加上也不会产生错误,只不过做了无用功。你可以自己打个断点看看是否是这样。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答