ここに結果を表示
<p id="result">ここに結果を表示</p> <div id="t"> swipe (#t) </div> <hr> <div class="foo"> <div class="bar"> swipe (.foo .bar) </div> </div>
#t, .foo .bar { width: 300px; height: 200px; margin: 0 auto; background: cyan; }
function setSwipe(elem) { var t = document.querySelector(elem); var r = document.getElementById('result'); var startX; var startY; var moveX; var moveY; var dist = 30; t.addEventListener('touchstart', function(e) { e.preventDefault(); startX = e.touches[0].pageX; startY = e.touches[0].pageY; }); t.addEventListener('touchmove', function(e) { e.preventDefault(); moveX = e.changedTouches[0].pageX; moveY = e.changedTouches[0].pageY; }); t.addEventListener('touchend', function(e) { if (startX > moveX && startX > moveX + dist) { r.textContent = '右から左にスワイプ'; } else if (startX < moveX && startX + dist < moveX) { r.textContent = '左から右にスワイプ'; } }); } setSwipe('#t'); setSwipe('.foo .bar');