日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(效果一)js实现上拉加载

發(fā)布時(shí)間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (效果一)js实现上拉加载 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)現(xiàn)思路:獲取滾動(dòng)元素的高度,滾動(dòng)條距離頂部的距離,滾動(dòng)條的高度, 算式:可視窗口的高度 + 滾動(dòng)條距離頂部的距離 == 滾動(dòng)條的高度就說明到底部。 HTML <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>項(xiàng)目查詢</title> <link rel="stylesheet" href="xmcx.css"> </head> <body> <div class="wraper"> <div class="header"> <div class="search"><a href=""><img src="image/search.png" alt="">請輸入名稱進(jìn)行搜索</a></div> <div class="tab"> <div class="nav active"><a href="javascript:;">藥品價(jià)格</a></div> <div class="nav"><a href="javascript:;">非藥品價(jià)格</a></div> </div> </div> <div class="section"> <div class="med-hd"> <div class="name pink">名稱</div> <div class="guige pink">規(guī)格</div> <div class="yblx pink">醫(yī)保類型</div> <div class="jine oriange">金額</div> </div> <div class="med-bd focus"> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒復(fù)方氨酚烷胺顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> </div> <div class="med-bd"> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> <div class="row"> <div class="name a">小兒咽扁顆粒</div> <div class="guige">60ml/瓶</div> <div class="yblx cir">甲類</div> <div class="jine">35.5</div> </div> </div> </div> </div> <script src="xmcx.js"></script> </body> </html>

  

CSS3 /*項(xiàng)目查詢*/ body,div,p,ul,ol,li,dl,dt,dd,table,tr,td,form,hr,fieldset,h1,h2,h3,h4,h5,h6,img,input{ margin:0; padding:0; } html { font-size: 26.67vw; } html,body{ height: 100%; } .wraper{ height: 100%; display: -webkit-flex; display: flex; flex-direction: column; -webkit-flex-direction: column; background-color: #f1f1f1; } a { text-decoration: none; }a:link{ color: #404040; } a:visited{ color: #404040; } a:hover{ color: #404040; } a:active { color: #404040; } ul,ol{ list-style:none; } img{ border: 0; display: block; }.header{ width: 100%; height: 214px; height: 1.07rem; } .header .search { width: 100%; height: 120px; height: 0.6rem; background-color: #ff4f8d; display: flex; align-items: center; justify-content: center; background-color: #ff4f8d; box-sizing: border-box; padding: 0.1rem 0.09rem; } .header .search a { display: flex; width: 100%; height: 100%; border-radius: 8px; align-items: center; font-size: 0.14rem; box-sizing: border-box; color: #fff; background-color: #e6477f; } .header .search img { width: 0.15rem; height: 0.15rem; margin: 0 0.14rem 0 0.12rem; vertical-align: middle; } .tab { width: 100%; height: 0.45rem; background-color: #fff; box-sizing: border-box; border-top: 1px solid #f1f1f1; display: flex; align-items: center; } .tab .nav { width: 50%; height: 100%; box-sizing: border-box; background-color: #fff; display: flex; align-items: center; justify-content: center; border-bottom: 4px solid transparent; font-size: 0.17rem; } .tab .nav.active { border-bottom: 4px solid #ff4f8d; } .tab .nav.active a { color: #ff4f8d; } .tab .nav a { color: #404040; } .medical-hd { width: 100%; } .section{ width: 100%; /*height: 100%;*/ flex: 1; background-color: #f1f1f1; padding: 20px 24px 0; padding: 0.1rem 0.12rem 0; box-sizing: border-box; display: flex; flex-direction: column; } .med-hd { width: 100%; height: 70px; height: 0.35rem; box-sizing: border-box; color: #fff; font-size: 28px; font-size: 0.14rem; display: flex; align-items: center; text-align: center; } .name { width: 242px; width: 1.21rem; border-right: 1px solid #f2f2f2; box-sizing: border-box; } .guige { width: 148px; width: 0.74rem; border-right: 1px solid #f2f2f2; box-sizing: border-box; } .yblx { width: 161px; width: 0.85rem; } .jine { width: 151px; width: 0.755rem; } .name,.guige,.yblx,.jine { height: 100%; display: flex; align-items: center; justify-content: center; } .pink {background-color: #ff4f8d;} .oriange {background-color: #ff990a;}.med-bd{ width: 100%; flex: 1; box-sizing: border-box; overflow-y: auto; overflow-x: hidden; background-color: #fff; display: none; } .med-bd.focus{ display: block; } .med-bd .row{ width: 100%; height: auto; display: flex; align-items: center; flex-direction: row; font-size: 0.14rem; color: #404040; border-bottom: 1px solid #f2f2f2; } .row div { overflow: hidden; height: auto; min-height: 0.45rem; _height: 0.45rem; /*padding: 0.1rem 0.95rem;*/ box-sizing: border-box; } .cir { border-right: 1px solid #f2f2f2; } .a { padding-left: 0.1rem; box-sizing: border-box; }

  

JS function ajax({type,data,url,async=true,beforeSend,success,complete}){ // 創(chuàng)建xhr對象 let xhr = new XMLHttpRequest(); // 判斷傳入的數(shù)據(jù)的類型 為對象或者字符串 if(typeof data === 'object'){ // 遍歷且進(jìn)行拼接 組成格式為 a=b&c=d; var str = ''; for(var sAttr in data){ str += encodeURIComponent(sAttr) + '=' + encodeURIComponent(data[sAttr]) + '&'; } // 裁剪最后一個(gè)&符號(hào) data = str.slice(0,-1); } // 數(shù)據(jù)的提交方式強(qiáng)制轉(zhuǎn)化為答謝的提交方式 if(type.toUpperCase() === 'GET' && data){ url += '?' + data; } // 配置 xhr.open(type,url,async); // 接收后臺(tái)返回的數(shù)據(jù) xhr.onreadystatechange = function(){ if(xhr.readyState === 4){ if(xhr.status === 200){ success && success(xhr.responseText); } complete && complete(); } }; beforeSend && beforeSend(); if(type.toUpperCase() === 'POST'){ // 如果為post提交方式 在發(fā)送前將內(nèi)容類型設(shè)置為application/x-www-form-urlencoded xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(data); } else { xhr.send(); } } /* * 項(xiàng)目查詢 * oNav: tab切換標(biāo)題 * oCont: tab切換內(nèi)容 * */ var oNav = document.querySelectorAll('.nav'); var oCont = document.querySelectorAll('.med-bd'); oNav[0].onclick = function () { this.className = 'nav active'; oNav[1].className = 'nav'; oCont[0].className = 'med-bd focus'; oCont[1].className = 'med-bd'; }; oNav[1].onclick = function () { this.className = 'nav active'; oNav[0].className = 'nav'; oCont[1].className = 'med-bd focus'; oCont[0].className = 'med-bd'; };oCont.forEach(function (item,index,array) { item.onscroll = function(){ console.log(item.scrollHeight + 'px'); console.log(item.scrollTop + 'px'); console.log(item.clientHeight + 'px'); if(item.clientHeight + item.scrollTop == item.scrollHeight) { console.log("已經(jīng)觸底,請求數(shù)據(jù)"); ajax({ type: "GET", data: "", url: "", success: function () { console.log("請求數(shù)據(jù)成功執(zhí)行") } }) } } }); 注:這里需要調(diào)用后臺(tái)接口,這里我只封裝了ajax。需要的小伙伴加上接口就可以

轉(zhuǎn)載于:https://www.cnblogs.com/bgwhite/p/9375540.html

總結(jié)

以上是生活随笔為你收集整理的(效果一)js实现上拉加载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。