uniapp上拉加载更多_H5 上拉刷新 下拉加载更多

e61df605c599e6c372ad85ee8d07a37f.png  项目上用到的方法,在此记录一下

window.onscroll = function () {    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;    var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;    var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;    if (scrollTop + windowHeight == scrollHeight) {        console.log('触底加载更多');    }}

整体代码:

CSS

<style>        #refreshContainer li {            background-color: #eee;            margin-bottom: 1px;            padding: 20px 10px;        }        .refreshText {            position: absolute;            width: 100%;            line-height: 50px;            text-align: center;            left: 0;            top: 0;        }style>

HTML

    <p class="refreshText">p>    <ul id="refreshContainer">        <li>111li>        <li>222li>        <li>333li>        <li>444li>        <li>555li>        <li>111li>        <li>222li>        <li>333li>        <li>444li>        <li>555li>        <li>111li>        <li>222li>        <li>333li>        <li>444li>        <li>555li>    ul>

JS

(function (window, document, undefined) {    var upDownRefresh = function (box, text) {        var _element = document.getElementById(box),            _refreshText = document.querySelector(text),            _startPos = 0,            _transitionHeight = 0;        _element.addEventListener('touchstart', function (e) {            console.log('初始位置:', e.touches[0].pageY);            _startPos = e.touches[0].pageY;            _element.style.position = 'relative';            _element.style.transition = 'transform 0s';        }, false);        _element.addEventListener('touchmove', function (e) {            // console.log('当前位置:', e.touches[0].pageY);            _transitionHeight = e.touches[0].pageY - _startPos;            console.log(_transitionHeight)            if (_transitionHeight > 0 && _transitionHeight < 60) {                _refreshText.innerText = '下拉刷新';                _element.style.transform = 'translateY(' + _transitionHeight + 'px)';            }        }, false);        _element.addEventListener('touchend', function (e) {            if (_transitionHeight > 55) {                _refreshText.innerText = '更新中...';                console.log("触发更新")            }            _element.style.transition = 'transform 0.5s ease 1s';            _element.style.transform = 'translateY(0px)';        }, false);        window.onscroll = function () {            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;            var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;            var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;            if (scrollTop + windowHeight == scrollHeight) {                console.log('触底加载更多')            }        }    };    window.upDownRefresh = upDownRefresh;})(window, document);new upDownRefresh("refreshContainer", ".refreshText")

e61df605c599e6c372ad85ee8d07a37f.png 之前做小程序项目的时候也有涉及到上拉刷新、下滑加载的内容,小程序内部提供相应的方法,只需要在内部编写我们需要加载的内容即可,方法也比较好用。

(1)监听用户下拉刷新:

onPullDownRefresh: function () {    console.log('上拉刷新');},

注意下拉的动作,需要同步在对应的json文件中去定义,否则单js文件内设置并不会生效:

"enablePullDownRefresh":true

(2)页面上拉触底事件的处理函数:

onReachBottom: function () {    console.log('触底加载更多');}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值