테스트 사이트 - 개발 중인 베타 버전입니다

swipe event

swipe event
version added: 1.0


설명 : 1 초 동안 30px 이상 (세로로 30px 미만)의 수평 드래그가 발생하면 트리거됩니다.

jQuery( window ).on( "swipe", function( event ) { ... } )

1 초 동안 30px 이상 (수직으로 30px 미만)의 수평 드래그가 발생했을 때 트리거되지만 다음과 같이 구성 할 수 있습니다.

$.event.special.swipe.scrollSupressionThreshold (default: 10px) – 이 수평 이동보다 더 많이 스크롤을 억제합니다.
$.event.special.swipe.durationThreshold (default: 1000ms) – 이보다 더 많은 시간이 걸리며 슬쩍하지 않습니다.
$.event.special.swipe.horizontalDistanceThreshold (default: 30px) – 스 와이프 가로 변위는 이보다 커야합니다.
$.event.special.swipe.verticalDistanceThreshold (default: 30px) – 스 와이프 수직 이동은 이보다 작아야합니다.


스 와이프 이벤트는 자신의 논리 또는 기능을 추가하도록 확장 될 수도 있습니다. 다음 방법을 확장 할 수 있습니다.

1. $.event.special.swipe.start Default:

function( event ) {
var data = event.originalEvent.touches ?
event.originalEvent.touches[ 0 ] : event;
return {
time: ( new Date() ).getTime(),
coords: [ data.pageX, data.pageY ],
origin: $( event.target )
};
}

2. $.event.special.swipe.stop Default:

function( event ) {
var data = event.originalEvent.touches ?
event.originalEvent.touches[ 0 ] : event;
return {
time: ( new Date() ).getTime(),
coords: [ data.pageX, data.pageY ]
};
}

3. $.event.special.swipe.handleSwipe Default:

function( start, stop ) {
if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {

start.origin.trigger( "swipe" )
.trigger( start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight" );
}
}



예:
스 와이프 이벤트 캡처 및 실행에 대한 간단한 예

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>swipe demo</title>
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<style>
html, body { padding: 0; margin: 0; }
html, .ui-mobile, .ui-mobile body {
height: 105px;
}
.ui-mobile, .ui-mobile .ui-page {
min-height: 105px;
}
#nav {
font-size: 200%;
width:17.1875em;
margin:17px auto 0 auto;
}
#nav a {
color: #777;
border: 2px solid #777;
background-color: #ccc;
padding: 0.2em 0.6em;
text-decoration: none;
float: left;
margin-right: 0.3em;
}
#nav a:hover {
color: #999;
border-color: #999;
background: #eee;
}
#nav a.selected,
#nav a.selected:hover {
color: #0a0;
border-color: #0a0;
background: #afa;
}
div.box {
width: 30em;
height: 3em;
background-color: #108040;
}
div.box.swipe {
background-color: #7ACEF4;
}
</style>
</head>
<body>

<h3>Swipe the green rectangle to change its color:</h3>
<div class="box"></div>

<script>
$(function(){
// Bind the swipeHandler callback function to the swipe event on div.box
$( "div.box" ).on( "swipe", swipeHandler );

// Callback function references the event target and adds the 'swipe' class to it
function swipeHandler( event ){
$( event.target ).addClass( "swipe" );
}
});
</script>

</body>
</html>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1356
1355
1354
1353
1352
1351
1350
1349
1348
1347
1346
1345
1344
1343
1342
1341
1340
1339
1338
1337
1336
1335
1334
1333
1332
1331
1330
1329
1328
1327