選項塊多了,超出部分隱藏并顯示...

要實現如下圖片的效果,每個欄目的寬度不確定,總長度一定,欄目多了最后顯示...欄目


image.png

html如下:

<div class="box">
    <div class="ne">我就問你ne不ne</div>
    <div class="ne">你就說我ne不ne</div>
    <div class="ne">我不ne</div>
    <div class="ne">你ne</div>
    <div class="ne">沒有最ne</div>
    <div class="ne">只有更ne</div>
    <div class="ne">就你ne</div>
    <div class="ne">再說我ne我哭了</div>
    <div class="ne">你哭你也ne</div>
    <div class="ne">哇哇哇哇ne哭了</div>
    <div class="ne">艾瑪哭起來更ne了</div>
    <div class="overflow">...</div>
</div>

css如下:

    <style>
        .box{
            width:800px;
            overflow:hidden;
        }
        .ne{
            float:left;
            height:30px;
            line-height: 30px;
            background:#ddd;
            color:#333;
            border-radius: 5px;
            margin:0 10px 10px 0;
            text-align: center;
            overflow:hidden;
            text-overflow:ellipsis; 
            white-space:nowrap; 
            padding:0 10px;
        }
        .overflow{
            float:left;
            height:30px;
            line-height: 30px;
            background:#ddd;
            color:#333;
            border-radius: 5px;
            margin:0 10px 10px 0;
            text-align: center;
            padding:0 10px;
            display: none;
        }
    </style>

js如下:

<script>
    var length;
    for(var i=1;i<$('.ne').length;i++){
        if(length<$('.box').width()){
            // 算出每個塊的大小
            length += $('.ne').eq(i).width() + 2*parseInt($('.ne').eq(i).css('padding-left')) + parseInt($('.ne').eq(i).css('margin-right'));
        }else{
            // 超出總長度就取整 后面的隱藏并顯示...
            $(".ne").filter(".ne:gt("+(i-3)+")").hide ();
            $('.overflow').show();
        }
    }
</script>

知識點:
gt(n),n后面的所有元素;
lt(n),n前面的所有元素

點擊下載 demo

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,548評論 25 708
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,814評論 1 92
  • 理光(Ricoh)日本著名辦公設備及光學機器制造商,在今日發布了新款 360 度全景相機 Theta SC,這款相...
    sofa閱讀 987評論 1 1
  • 所謂內修也就是培養我們的心靈美,善良,勇敢,自信,愛心,涵養……這些都不能用金錢來衡量,更不是是用金錢就能買到的!...
    蝴蝶王妃閱讀 214評論 0 0
  • 文:嘉戈 昨夜北風舞,花飛冰心。凌空獨開欲春風,卻引霜寒至。那山依舊飄那雪。本是傲寒滿乾坤,何必凡世惹塵埃!
    嘉戈閱讀 329評論 0 1