HTML5触摸屏touch事件使用实例1

1.源码:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />

<style>
.divFixed {
    width: 100px;
    height: 100px;
    font-size: 15px;
    text-align: center;
    border: 2px solid red;
    position: fixed;
}
</style>

 

    <div class="divFixed" id="divOne"></div>
    <script>
        var divOne = document.getElementById('divOne');
        var isMove = false;
        var oldX = oldY = 0;
        divOne.addEventListener('touchstart', function (e) {
            if (e.targetTouches.length == 1) {
                var touch = e.targetTouches[0];
                isMove = true;
                oldX = touch.pageX;
                oldY = touch.pageY;
                divOne.style.background = "gray";
            }
        }, false);
        divOne.addEventListener('touchmove', function (e) {
            if (e.targetTouches.length == 1) {
                var touch = e.targetTouches[0];
                if (isMove) {
                    var curX = touch.pageX;
                    var curY = touch.pageY;

                    divOne.style.left = divOne.offsetLeft + (curX - oldX) + 'px';
                    divOne.style.top = divOne.offsetTop + (curY - oldY) + 'px';

                    oldX = curX;
                    oldY = curY;
                }
            }
            //禁用默认操作
            e.preventDefault();
        });
        divOne.addEventListener('touchend', function (e) {
            if (e.changedTouches.length == 1) {
                var touch = e.changedTouches[0];
                isMove = false;
                oldX = oldY = 0;
                divOne.style.background = "transparent";
            }
        }, false);

        //禁止整个页面触屏,而移动(如:QQ浏览器的页面左右切换)
        window.addEventListener('touchmove', function (e) {
            e.preventDefault();
        }, false);
    </script>

2.显示结果:

转载于:https://www.cnblogs.com/tianma3798/p/5236059.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值