日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移动端那些事儿(二)jquery手势插件之jGestures

發布時間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移动端那些事儿(二)jquery手势插件之jGestures 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

手機開發中,除了我們平時用的jquery基本事件之外,還有很多手勢,今天介紹一款jquery手勢插件jGestures,地址是:http://jgestures.codeplex.com/

這個插件的強大之處在于它可以監聽以下事件’pinch’(縮放手勢), ‘rotate’(旋轉手勢), ‘swipe’(滑動手勢), ‘tap’(輕觸) 以及 ‘orientationchange’(改變設備方向)。等等,有了這個插件,手機web開發就更加方便了。

事件簡介

orientationchange 代表設備順時針或者逆時針旋轉.此事件可以被設備觸發,可能使用的是重力傳感器.

pinch 縮放手勢(兩個手指在屏幕上的相對運動)

rotate 旋轉手勢(兩個手指順時針或者逆時針旋轉)

swipemove 在正在滑動時觸發(在設備屏幕上移動手指,比如:拖動)

swipeone 單點滑動手勢,滑動完成后觸發(一個手指在屏幕上移動)

swipetwo 兩點滑動(兩個手指在屏幕上方向一致的滑動)

swipethree 三點滑動(三個手指在屏幕上方向一致的滑動)

swipefour 四點滑動(四個手指在屏幕上方向一致的滑動)

swipeup 向上滑動,在嚴格的向上滑動手勢完成后觸發

swiperightup 向右上角滑動,在向右且向上的滑動手勢完成后觸發

swiperight 向右滑動,在嚴格的向右滑動手勢完成后觸發

swiperightdown 向右下角滑動,在向右且向下的滑動手勢完成后觸發

swipedown 向下滑動,在嚴格的向下滑動手勢完成后觸發

swipeleftdown 向左下角滑動,在向左且向下的滑動手勢完成后觸發

swipeleft 向左滑動,在嚴格的向左滑動手勢完成后觸發

swipeleftup 向左上角滑動,在向左且向上的滑動手勢完成后觸發

tapone 在單個手指輕點的手勢后觸發

taptwo 在兩個手指一起輕點的手勢后觸發

tapthree 在三個手指一起輕點的手勢后觸發

pinchopen 撐開手勢,當兩個手指撐大并離開設備時觸發.

pinchclose 捏緊手勢,當兩個手指捏緊并離開設備時觸發.

rotatecw 兩個手指順時針旋轉并且離開屏幕時觸發(two fingers rotating clockwise)

rotateccw 兩個手指逆時針旋轉并且離開屏幕時觸發 (two fingers rotating counterclockwise)

shake 當檢測到設備正在搖晃時觸發

shakefrontback 當檢測到搖晃動作,且可以被解讀為前后移動之時觸發.

shakeleftright 當檢測到搖晃動作,且可以被解讀為左右移動之時觸發.

shakeupdown 當檢測到搖晃動作,且可以被解讀為上下移動之時觸發.

關于swipe,我上一篇文章已經介紹過了,http://blog.csdn.net/qq_39198420/article/details/77862782

當頁面有滾動條的時候,swipe的up,down,left,right可能會不觸發!事件會被滾動事件覆蓋掉!

事件用法

<script> jQuery(document).ready(function () {jQuery(window).bind('shakeupdown',function(event_,data_){alert('shake: '+ data_.description)})}) </script>

官方案例如下:

<script> function log(event_, obj) { // ignore bubbled handlers // if ( obj.originalEvent.currentTarget !== obj.originalEvent.target ) { return; }obj.originalEvent.preventDefault();jQuery('#logger').find('li').slice(1,jQuery('#logger').find('li').size()-8).animate({'opacity':'0', 'height':'0'},function(){jQuery(this).remove()}).end().end().append('<li><b>'+jQuery(obj.originalEvent.currentTarget).attr('id')+'</b>: '+obj.description+ ' : '+obj.type +'</li>')}function manipulate(event_, obj) { // ignore bubbled handlers // if ( obj.originalEvent.currentTarget !== obj.originalEvent.target ) { return; }event_.preventDefault();obj.originalEvent.preventDefault();log(event_, obj)var _a = obj.description.split(':');jQuery(obj.originalEvent.currentTarget).css('zIndex','1000')switch(_a[0]) {case 'pinch'://jQuery(obj.originalEvent.currentTarget).css('-webkit-transform','scale('+ ( obj.direction * obj.delta[0].moved ) +')');break;case 'rotate'://jQuery(obj.originalEvent.currentTarget).css('-webkit-transform','rotate('+ ( obj.delta[0].moved ) +'deg)');break;case 'swipemove':if(_a[1] != 1) {break;}jQuery(obj.originalEvent.currentTarget).css('-webkit-transition','');jQuery(obj.originalEvent.currentTarget).css('left', parseInt(jQuery(obj.originalEvent.currentTarget).css('left')) + obj.delta[0].startX );jQuery(obj.originalEvent.currentTarget).css('top', parseInt(jQuery(obj.originalEvent.currentTarget).css('top')) + obj.delta[0].startY ); // jQuery(obj.originalEvent.currentTarget).data('moving',true)break;case 'swipe' : // if(_a[1] != 1 || jQuery(obj.originalEvent.currentTarget).data('moving') } {break;}jQuery(obj.originalEvent.currentTarget).css('-webkit-transition','all 1s ease-out').css('left', parseInt(jQuery(obj.originalEvent.currentTarget).css('left')) + obj.delta[0].startX );jQuery(obj.originalEvent.currentTarget).css('-webkit-transition','all 1s ease-out').css('top', parseInt(jQuery(obj.originalEvent.currentTarget).css('top')) + obj.delta[0].startY );break;}jQuery(obj.originalEvent.currentTarget).css('zIndex','') }function BlockMove(event) {// Tell Safari not to move the window.event.preventDefault() ;}jQuery(document).ready(function() {jQuery('#tap').bind('tapone',log);jQuery('#tap').bind('taptwo',log);jQuery('#tap').bind('tapthree',log);jQuery('#tap').bind('tapfour',log);jQuery('#swipe').bind('swipeone',log);jQuery('#swipe').bind('swipetwo',log);jQuery('#swipe').bind('swipethree',log);jQuery('#swipe').bind('swipefour',log);jQuery('#swipe').bind('swipeup',log);jQuery('#swipe').bind('swiperightup',log);jQuery('#swipe').bind('swiperight',log);jQuery('#swipe').bind('swiperightdown',log);jQuery('#swipe').bind('swipedown',log);jQuery('#swipe').bind('swipeleftdown',log);jQuery('#swipe').bind('swipeleft',log);jQuery('#swipe').bind('swipeleftup',log);jQuery('#change').bind('pinchopen',manipulate);jQuery('#change').bind('pinchclose',manipulate);jQuery('#change').bind('rotatecw',manipulate);jQuery('#change').bind('rotateccw',manipulate);jQuery('#change').bind('swipeone',manipulate);jQuery('#livechange').bind('swipeone',manipulate);jQuery('#livechange').bind('swipemove',manipulate);jQuery('#livechange').bind('pinch',manipulate);jQuery('#livechange').bind('rotate',manipulate);})</script>

總結

以上是生活随笔為你收集整理的移动端那些事儿(二)jquery手势插件之jGestures的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。