jQuery保持子集高度一致簡易方法

需求

來自於移動端web需要一個樹狀圖,但分支有些內(nèi)容多,有些內(nèi)容少,就會呈現(xiàn)“缺失”的狀態(tài),如下:

第一個方塊底下有空隙”

原因

其原因是因爲(wèi)各層連接綫是由方塊的偽類+div的border實現(xiàn)的,所以如果樹狀圖中各個方塊的高度不一,就會出現(xiàn)中間的“缺失”。并且如果樹狀圖的每個方塊高度一致,整個圖也會顯得較爲(wèi)美觀。
但是方塊的高度不能寫死,如果後期需要修改方塊裏的內(nèi)容或是增加內(nèi)容,寫死將會給修改帶來麻煩。由於CSS無法自動計算方塊的高度,所以用jQuery來計算。

思路

高度保持一致,指的是每層方塊的高度一致,無需整個樹狀圖高度一致。
1、首先,讀出所需層的每個方塊的高度值(現(xiàn)高度是由方塊內(nèi)容撐開的);
2、其次,將第一個方塊的高度值作爲(wèi)這層中所有方塊中的最高高度max;
3、再者,將每個方塊的高度值代入,判斷代入的高度值是否大於max;
4、如果大於max,將此高度值取代原來max的值,如果小於,則不計;
5、最後,將max作爲(wèi)所需層所有方塊的高度值。

代碼

    <script type="text/javascript">
      $(function(){
        //設(shè)一個變量b為所需層的所有方塊
        var b = $(".two").children(".list-square").children(".element"),
        //設(shè)方塊最高值max一開始等於0
        max = 0;
        b.each(function(){
          //判斷代入高度值是否大於max
          if($(this).height() > max) {
            //大於則取代原max的值
            max = $(this).height();
          }
        });
        //所需層方塊高度皆爲(wèi)max
        b.height(max);
      });
    </script>
現(xiàn)在方塊高度保持一致了

入門學(xué)習(xí)所用,僅限于個人練習(xí)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容