我用iScroll5去实现下拉刷新效果,多次触发问题

发布于 2022-09-02 00:13:03 字数 1823 浏览 12 评论 0

我用iScroll5去实现下拉刷新效果,但是我鼠标向下拉的时候触发了,但是我不松开,又下拉一下就又会触发,求教啊
我的代码是下边写的,写的很烂,希望大家帮我看看,都哪里需要改,改了好久都不行

function loaded() {
        myScroll = new IScroll('#wrapper', {mouseWheel: true, probeType: 1});
        myScroll.on('scroll', updatePosition);
        var mouseY = 0;
        var moveY = 0;
        function updatePosition() {

            var getWrapper = document.getElementById('wrapper');
            var getWrapperHeight = -(-document.getElementById('wrapper').scrollHeight + document.getElementById('wrapper').clientHeight + 32);
            //监听鼠标按下事件
            getWrapper.addEventListener('mousedown',getStartPage);

            function getStartPage(e){
                var e = e || window.event;
                mouseY = e.pageY;
                return mouseY;
            }
            console.log(mouseY);
            
            getWrapper.addEventListener('mousemove',getmovePage);
            
            //监听鼠标移动事件
            function getmovePage(e){
                var e = e || window.event;
                moveY = e.pageY;
                return moveY;
            }
            console.log(moveY);

            //先判断是向上拉动还是向下拉动
            if (this.y + getWrapperHeight < -2) {
            //再判断移动的距离
                if(mouseY-moveY>30){
                    console.log("向上拉动")
                }

            }
            //先判断是向上拉动还是向下拉动 
            if (this.y > 20) {
            //再判断移动的距离
                if(mouseY-moveY<-30){
                    console.log("向下拉动")
                }
            }
        }

        document.addEventListener('touchmove', function (e) {
            e.preventDefault();
        }, false);
    }

1:为什么我拉动的前两下打印出来的mouseY和moveY为什么都为0,怎么解决呢
2:我鼠标不抬起,只是滑动一段之后停顿一下再划一下,就会出现2个或者更多个打印的“向下拉动”
求大神帮帮忙,弄了半天还没弄好

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

却一份温柔 2022-09-09 00:13:03

https://github.com/ximan/dropload。可以试试这个,我觉得iScroll有点笨重而且性能也不是稳定。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文