开发者社区> 问答> 正文

为什么这里的touchend无效呢 :报错

s4.addEventListener("touchstart", touchStart4, false);
s4.addEventListener("touchmove", touchMove4, false);
s4.addEventListener("touchend", touchEnd4, false);
var v4 = 0;

function touchStart4(event,target) {
    //event.preventDefault();
    var touch = event.targetTouches[0]; //位于当前DOM元素上的手指的一个列表
    startY = touch.pageY;
    moveY = 0;
        
}
function touchMove4(event) {
    //event.preventDefault();
    var touch = event.touches[0];
    moveY = touch.pageY - startY;
}

function touchEnd4(event) {
        if($(document).scrollTop() == 0){
                v4 = 1;        //top
        }else if($(document).scrollTop() == $(document).height() - $(window).height()){
                v4 = 2; //bottom
        }else{
                v4 = 0;        
        }
        if(moveY < 0 && v4 == 2){ //当滑到底部的时候
                $('#s5').css('top','100%');
                $('#s5').css('display','block');
                $('#s5').animate({
                        top:0
                },500,function(){
                        an5_in();
                        $('#nav').hide();        
                });
                $('#s4').animate({
                        top:'-100%'
                },500);
                $('#s4').css('display','none');
        }else if(moveY > 0 && v4 == 1){ //当滑到顶部的时候
                $('#s3').css('top','-100%');
                $('#s3').css('display','block');
                $('#s3').animate({
                        top:'0'
                },500,function(){
                        an3_in();
                        $('#nav').hide();        
                });
                $('#s4').css('display','none');
        }
}

我想要实现的功能是,当该页(这一页的内容超过一屏的,所以可上下滑动滚动)到达顶部的时候,再滑动一下,就会跳到上一页,如果到达了顶部,再滑动一下,就到达下一页。

为什么touchend这里就没有反应了呢?

展开
收起
kun坤 2020-06-14 21:29:28 796 0
1 条回答
写回答
取消 提交回答
  • 在touchend4第一行添加一个日志,确认这个函数没有触发?估计应该是触发了,但不满足你的逻辑。######加入了,没有打印出日志。所以应该是完全touchend是无效的。######

    你的测试环境是什么?chrome?


    ######手机测试,微信里的扫一扫后测试。还在手机猎豹哦浏览器测试,一样是无效的。######。。。这个没有遇到过,不理解,我没有方向了。######如果在touchmove中的preventdefault没有注释掉的话,就可以。但是另外一些问题又会出现
    2020-06-15 10:48:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载