移动端网页滑动到底部触发事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>移动端网页滑动到底部触发事件</title> <style type="text/css"> .m-test {height: 2000px;background: green;} </style> </head> <body> <div id="m-test" class="m-test"></div> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script> <script type="text/javascript"> var flag=1; var rgb = 0; $(window).bind("scroll", function () { if(getScrollHeight() < getDocumentTop() + getWindowHeight() + 200){ //当滚动条到底时,这里是触发内容 //异步请求数据,局部刷新dom //ajax_function() if (flag == 1) { flag=0; var temp = `<div style="height:500px; background:rgb(100,${rgb},${rgb});"></div>`; $('body').append(temp); rgb = rgb + 20; flag = 1; } } }); //文档高度 function getDocumentTop() { var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; if (document.body) { bodyScrollTop = document.body.scrollTop; } if (document.documentElement) { documentScrollTop = document.documentElement.scrollTop; } scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop; console.log("scrollTop:"+scrollTop); return scrollTop; } //可视窗口高度 function getWindowHeight() { var windowHeight = 0; if (document.compatMode == "CSS1Compat") { windowHeight = document.documentElement.clientHeight; } else { windowHeight = document.body.clientHeight; } console.log("windowHeight:"+windowHeight); return windowHeight; } //滚动条滚动高度 function getScrollHeight() { var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0; if (document.body) { bodyScrollHeight = document.body.scrollHeight; } if (document.documentElement) { documentScrollHeight = document.documentElement.scrollHeight; } scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight; console.log("scrollHeight:"+scrollHeight); return scrollHeight; } </script> </body> </html>