宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

瀑布流H5頁面不再難!純JS實現(xiàn)+分頁加載,讓你輕松上手!

管理 管理 編輯 刪除

在H5頁面上實現(xiàn)瀑布流的顯示方式,可以產(chǎn)生錯落有致的美感,讓用戶在瀏覽時不至于視覺疲勞,更吸引用戶繼續(xù)瀏覽。

雖然已有很多的瀑布流插件,但是大多較復(fù)雜,整合到自己的系統(tǒng)中時,有可能產(chǎn)生沖突,解決這些沖突還需要花額外的時間,并且對動態(tài)加載的分頁支持可能也會有沖突,所以我們需要個很簡單的瀑布流插件,通過極少的代碼,就可以實現(xiàn),以下介紹兩種極簡的方式,同時分析下他們的優(yōu)缺點,供大家參考。

純css方式:通過column方式,需要用到的樣式:

column-count:分幾列顯示

column-width:每列的寬

column-gap:列直接的空隙

優(yōu)點:代碼量少

缺點:按列顯示,動態(tài)加載更多內(nèi)容時右側(cè)的列的內(nèi)容會變化

82768202312041558501961.png

純css的方式雖然簡單,但是我們的期望是右側(cè)的內(nèi)容不變,然后可以動態(tài)在列表下面橫向的增加內(nèi)容,顯然這種方式不滿足我們的要求。

純js方式:通過定位的方式

優(yōu)點:調(diào)用簡單、達(dá)到期望值

缺點:需要對JS技術(shù)有一定的了解

首先確定要分幾列顯示,可以通過配置的方式,具體的實現(xiàn)思路是:

簡單的幾個配置項:column:幾列,space:空隙的大小

第一、外層包裹一個div class 名稱wrapper (class名稱可以修改),然后內(nèi)層的項目列表 div class 名稱item(class名稱可以修改)

<div class="wrapper"> <div class="item">...</div> <div class="item">...</div> <div class="item">...</div> ...</div>

第二、在頁面的樣式文件中,wrapper 的樣式定義position:relative, item樣式定義position:absolute;

第三、第一排的item,top值為0,第一排第一個item,left值為0,第一排第二個item,left 值為第一個item的寬度+空隙,后面的以此類推,并將每個item的高度加入到數(shù)組中待用;

第四、第二排,首先從上面保存的第一排的高度的數(shù)組中獲取最小高度的那個item,同時獲取它的索引值,用于判斷它所在的位置(即排在第幾列),然后將第二排的第一個放過去,left值和第一排(上面數(shù)組中記錄的值)最小高度的item的left值相同,top值為獲取的最小高度的item的高度+空隙的值,同時更新數(shù)組中對應(yīng)的索引的值為當(dāng)前item的top+ 當(dāng)前itemd高+空隙的值;第二個則找上面數(shù)組記錄的值,因為已經(jīng)更新了一個索引,這個索引對應(yīng)的值已經(jīng)變得更多,所以會從沒有更新的索引中查找最小值,然后獲取它的left和height,設(shè)置第二排第二個的top和left值,同時更新數(shù)組中該索引對應(yīng)的值,以此類推;

第五、第三排重復(fù)第二排的操作,以此類推,就可以實現(xiàn)瀑布流顯示方式;

ae82b202312041559005112.png

上面就是實現(xiàn)瀑布流的邏輯,理解了上面的原理之后,如果想擴(kuò)展下,比如加入一些動畫等等都是可以實現(xiàn)。

請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2023-12-04 16:01:38

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
3789
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動獲取的帖子內(nèi)容,不準(zhǔn)確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊

切換手機(jī)號登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服