瀑布流布局詳解


         瀑布流概念:又稱瀑布流式布局,是比較流行的一種網站頁面布局方式。視覺表現為參差不齊的多欄布局,最早采用此布局的是網站是Pinterest,后逐漸在國內流行。

 

         瀑布流原理:頁面容器內的多個高度不固定的div之間按照一定的間隔參差不齊的無序浮動,鼠標滾動時不斷在容器內的尾部加載數據,且自動加載到空缺位置,不斷循環。

 

         優點:

                1.有效降低了界面復雜度,節省了空間:不再需要臃腫復雜的頁面導航鏈接或者按鈕了; 

                2.在觸屏設備上交互方式有更好的用戶體驗,通過向上滑動進行頁面滾動和數據加載,對操作的精准程度要求遠遠低於點擊按鈕或者鏈接;

                3.更高的參與度,使用戶能更好的專注於瀏覽而不是操作;

         缺點:

                1.無限滾動只適用與特定類型產品中的某一類型,如某類微博信息,購物網站的某類商品,而不適用與一般的門戶網站,使用需斟酌;

                2.需要打造額外的js庫來保證頁面數據的加載和排列,而這在一定意義上增加了在網頁的性能和設備兼容等方面的問題;

 

         js核心思路:

                1.編寫方法:獲取容器內所有外層元素,存入數組;

                2.編寫方法:計算容器內一行可以承載多少個元素,方法:容器寬度/元素寬度,四舍五入向下取整;

                3.編寫方法:把每一行中所有元素的高度值存入數組;

                4.編寫方法:在高度值數組中找到最小高度值;

                5.編寫方法:把第二行第一個元素定位到上一行所有元素中高度最低的元素下面,即設置該元素的top,left,position屬性;

                6.編寫方法:重置當前高度值數組中的最小值;

                7.編寫方法:從第二行第一個元素開始,遍歷每個元素,用上述方法重新定位每個元素的位置,把該事件綁定到頁面;

                8.編寫方法:監聽鼠標事件,當前容器內最下面一個元素的offsetTop<瀏覽器可視高度+已滾動高度時,加載下一頁數據;

                9.加載完之后,用上述方法重新定位新加載元素的位置;

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM