h5手机滑动事件

slideDom.addEventListener('touchstart', touchstart, false);

slideDom.addEventListener('touchmove', touchmove, false);

slideDom.addEventListener('touchend', touchend, false);

 

//开始滑动

function touchstart(e){

    var point = getPoint(e);

    window.startX = point.pageX;

    console.log(window.startX);

};

//滑动过程中

function touchmove(e){

    e.preventDefault();//阻止默认行为

    var point = getPoint(e);

    window.moveX = point.pageX;

    window.deltaX = window.moveX - window.startX;

    domove(window.deltaX+window.prevX);

};

//结束滑动

function touchend(e){

    var x = Math.abs(window.deltaX);

    var item_w = document.getElementById("demo1").offsetWidth;

    if(window.deltaX>0){

        if(x>item_w){

            var indexd = Math.round(x / item_w);

            index = index - indexd;

        }else{

            if(x/item_w > 0.3){

                index--

            }

        }

    }else if(window.deltaX<0){

        if(x>item_w){

            var indexd = Math.round(x / item_w);

            index = index + indexd;

        }else{

            if(x/item_w > 0.3){

                index++;

            }

        }

    }

    if(index >= (length-1)){

        index = length-1;

    }

    if(index <0 ){

        index = 0;

    }

    window.prevX = -index*item_w;

    domove(window.prevX,true);

};

//默认以第一个手指的位置计算

function getPoint(e) {

    return e.touches ? e.touches[0] : e;

};

 

//利用transform移动

function domove(x,t){

    if(t){

        slideDom.setAttribute('style''transform: translate(' + x + 'px, 0px);transition:transform 300ms ease');

    }else{

        slideDom.setAttribute('style''transform: translate(' + x + 'px, 0px);transition:transform 0ms ease');

    }

     

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值