HTML5商城開發一樓層滾動載入資料
對於樓層載入在以前只是個想法,從來沒實現過,剛好專案中碰到,再此總結一下
場景:HTML5,區域性商品列表資訊滾動(區域性滾動條)
1.通過jq設定subCategoryScroll的高度為螢幕顯示高度(假設為100),設定productlist的高度為列表資訊的實際高度(假設為300)
<div id="subCategoryScroll" style="overflow: hidden; overflow-y: scroll;"> <ul class="list-inline mb0 ml0" id="productlist"> <li>商品資訊區域</li> </ul> </div>
2.滾動指令碼,實現如果拉到最底部,將載入下一頁顯示;往回滾,不觸發載入事件(重點)
var page = 1;//載入的索引 var isload = true;//設定是否終止滾動載入 var curScrollHeight = 0;//當前滾動位置 var curCount = 1;//計數器,防止滾動時重複執行載入下一頁 $("#subCategoryScroll").scroll(function () { var pageHeight = $("#productlist").height(); var showHeight = $("#subCategoryScroll").height(); var scrollHeight = $("#subCategoryScroll").scrollTop(); if (curScrollHeight - scrollHeight < 10 && curScrollHeight>0) { if (curCount == 1) { page += 1; loadproducts(page); //載入新資料 } curCount++; //載入下一頁後計數器+1 } if (curScrollHeight < scrollHeight) { curScrollHeight = pageHeight - showHeight;//滾動到頁面底部時,重設當前滾動位置 curCount = 1; } }); function loadproducts(pageindex) { $.ajax({ url: $("#GetDataUrl").val(), data: { "currentPageIndex": pageindex, "Condition": $("#Condition").val() }, type: `GET`, dataType: `json`, timeout: 10000, async: false, success: function (resultData) { if (resultData != null) { var html = ""; if (resultData.rows == 0 && pageindex == 1) { isload = false; html = "抱歉,暫無商品!" $("#productlist").append(html); } else { $.each(resultData.rows, function (i, item) { html = `<li>內容</li>`; $("#productlist").append(html); }); if (resultData.PageTotal == pageindex) { isload = false; } } } } }); }
整體不難,關鍵在於滾動事件的邏輯處理
如果是頁面body的滾動條,pageHeight、showHeight、scrollHeight 與 $(document).height()、 $(window).height() 、 $(document).scrollTop()一一對應
相關文章
- 拖動滾動條載入資料程式碼例項
- vue 滾動載入Vue
- 分散式 SQL 使資料庫更上一層樓 - thenewstack分散式SQL資料庫
- PHP+InfiniteScroll網頁無限滾動載入資料例項PHP網頁
- js下拉滾動條瀑布流載入資料程式碼例項JS
- 滾動載入圖片(懶載入)實現原理
- 婚戀交友原始碼開發,移動端滾動載入更多元件的實現原始碼元件
- 使用 jQuery Ajax 在頁面滾動時從伺服器載入資料jQuery伺服器
- angular 監聽 Windows 滾動事件 實現頁面滾動載入AngularWindows事件
- 一起來實現圖片滾動懶載入
- 基於AOP的一種RecyclerView複雜樓層開發框架,支援元件化,全域性樓層打通,MVP等高擴充性功能View框架元件化MVP
- 直播商城原始碼,vue 彈窗 慣性滾動 加速滾動原始碼Vue
- 程式設計師篇:8個開發技巧助你薪水更上一層樓程式設計師
- 告別瑣碎工作:資料專案,讓你的職業發展更上一層樓
- ListView動態載入資料View
- 隨滾動條移動的層
- 字型隨著ProgressBar的載入而滾動
- vue指令做滾動載入 監聽等Vue
- 微信小程式實現滾動載入更多微信小程式
- django 實現滾動載入的功能薦Django
- 遮罩層禁止頁面滾動遮罩
- 拖動滾動條實現內容自動載入效果
- 移動端無限滾動載入 js實現原理JS
- 滾動優化(無限滾動載入、滾動元素內有大量dom,造成卡頓問題的優化方案)優化
- 一種Blazor開發模式下CSS的動態載入方法Blazor模式CSS
- 直播軟體開發,自動滾動banner
- 線上直播系統原始碼,實現翻頁載入、下拉滾動載入原始碼
- HTML5商城開發五實現返回頁面頂部HTML
- 訊息提示彈層滾動JQUERRY
- 商城軟體開發、開發商城小程式的好處-北京銳智互動軟體開發
- 資料保障更上一層樓 紅塔證券與新華三做了這件事
- 我一個div有橫向滾動條,如何讓他頁面一載入就讓他滾動到中間的位置
- html/css 滾動到元素位置,顯示載入動畫HTMLCSS動畫
- 短影片app原始碼,Vue3滾動載入APP原始碼Vue
- ecshop 入駐開發_多使用者商城
- 程式設計師的十層樓(十種境界)——轉載程式設計師
- 資料載入
- 資料庫開發基礎--層次查詢+資料庫