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

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>

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1386
1385
AngularJS 주형
1384
AngularJS 컨트롤러
1383
1382
1381
1380
1379
1378
1377
1376
1375
1374
1373
1372
1371
1370
AngularJS AngularJS API
1369
AngularJS 검증 예제
1368
1367
AngularJS CSS 클래스
1366
1365
AngularJS 이메일
1364
1363
AngularJS 선택 상자
1362
1361
AngularJS 체크 박스
1360
1359
AngularJS $event 객체
1358
1357