移動(dòng)設(shè)備手勢(shì)事件庫(kù)Touch.js使用詳解
Touch.js手勢(shì)庫(kù)是專門在Webkit內(nèi)核瀏覽器的移動(dòng)設(shè)備中使用中設(shè)計(jì)的, Touch.js是移動(dòng)設(shè)備上的手勢(shì)識(shí)別與事件庫(kù)。Touch.js基于原生事件,支持事件代理, 性能更好,極簡(jiǎn)的API,秒速上手等優(yōu)勢(shì)。
1、旋轉(zhuǎn)事件- startRotate
var angle = 0; touch.on('#target', 'touchstart', function(ev){ ev.startRotate(); ev.preventDefault(); }); touch.on('#target', 'rotate', function(ev){ var totalAngle = angle + ev.rotation; if(ev.fingerStatus === 'end'){ angle = angle + ev.rotation; } this.style.webkitTransform = 'rotate(' + totalAngle + 'deg)'; });
2、雙指縮放事件-Scale
var target = document.getElementById("target"); target.style.webkitTransition = 'all ease 0.05s'; touch.on('#target', 'touchstart', function(ev){ ev.preventDefault(); }); var initialScale = 1; var currentScale; touch.on('#target', 'pinchend', function(ev){ currentScale = ev.scale - 1; currentScale = initialScale + currentScale; currentScale = currentScale > 2 ? 2 : currentScale; currentScale = currentScale < 1 ? 1 : currentScale; this.style.webkitTransform = 'scale(' + currentScale + ')'; log("當(dāng)前縮放比例為:" + currentScale + "."); }); touch.on('#target', 'pinchend', function(ev){ initialScale = currentScale; });
3、識(shí)別單擊, 雙擊和長(zhǎng)按事件-Tap & Hold
touch.on('#target', 'hold tap doubletap', function(ev){ //console.log(ev.type); });
4、向左, 向右滑動(dòng)-Swipe
touch.on('#target', 'touchstart', function(ev){ ev.preventDefault(); }); var target = document.getElementById("target"); target.style.webkitTransition = 'all ease 0.2s'; touch.on(target, 'swiperight', function(ev){ this.style.webkitTransform = "translate3d(" + rt + "px,0,0)"; log("向右滑動(dòng)."); }); touch.on(target, 'swipeleft', function(ev){ log("向左滑動(dòng)."); this.style.webkitTransform = "translate3d(-" + this.offsetLeft + "px,0,0)"; });
5、拖拽事件-Drag
touch.on('#target', 'touchstart', function(ev){ ev.preventDefault(); }); var target = document.getElementById("target"); var dx, dy; touch.on('#target', 'drag', function(ev){ dx = dx || 0; dy = dy || 0; log("當(dāng)前x值為:" + dx + ", 當(dāng)前y值為:" + dy +"."); var offx = dx + ev.x + "px"; var offy = dy + ev.y + "px"; this.style.webkitTransform = "translate3d(" + offx + "," + offy + ",0)"; }); touch.on('#target', 'dragend', function(ev){ dx += ev.x; dy += ev.y; });
6、原生事件-Touch
touch.on('#target', 'touchstart touchmove touchend', function(ev){ console.log(ev.type); });
touch.js官方網(wǎng)站:http://touch.code.baidu.com/
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 淺談移動(dòng)端之js touch事件 手勢(shì)滑動(dòng)事件
- 淺談javascript的Touch事件
- js的touch事件的實(shí)際引用
- javascript移動(dòng)設(shè)備Web開發(fā)中對(duì)touch事件的封裝實(shí)例
- js實(shí)現(xiàn)touch移動(dòng)觸屏滑動(dòng)事件
- javascript移動(dòng)開發(fā)中touch觸摸事件詳解
- 手機(jī)端點(diǎn)擊圖片放大特效PhotoSwipe.js插件實(shí)現(xiàn)
- JS前端開發(fā)判斷是否是手機(jī)端并跳轉(zhuǎn)操作(小結(jié))
- JS模仿手機(jī)端九宮格登錄功能實(shí)現(xiàn)代碼
- JS手機(jī)端touch事件計(jì)算滑動(dòng)距離的方法示例
相關(guān)文章
easyUI實(shí)現(xiàn)(alert)提示框自動(dòng)關(guān)閉的實(shí)例代碼
下面小編就為大家?guī)硪黄猠asyUI實(shí)現(xiàn)(alert)提示框自動(dòng)關(guān)閉的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11webpack配置文件外置的兩種實(shí)現(xiàn)方式
webpack配置環(huán)境變量文件,是根據(jù)打包命令尋找對(duì)應(yīng)的環(huán)境變量文件,從而獲取接口地址,本文就來介紹一下webpack配置文件外置的兩種實(shí)現(xiàn)方式,感興趣的可以了解一下2023-12-12js判斷手機(jī)端(Android手機(jī)還是iPhone手機(jī))
現(xiàn)在使用手機(jī)上網(wǎng)的人越來越多,一些下載網(wǎng)站會(huì)通過判斷不同系統(tǒng)手機(jī)來訪問不同網(wǎng)頁,比如iPhone和Android。下面我們就來介紹一下如何用javascript判斷iPhone或Android手機(jī)訪問2015-07-07es6 javascript對(duì)象Object.values() , Object.entr
這篇文章主要介紹了es6 javascript對(duì)象Object.values() , Object.entries()的示例代碼,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12關(guān)于JS中的apply,call,bind的深入解析
下面小編就為大家?guī)硪黄P(guān)于JS中的apply,call,bind的深入解析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-04-04實(shí)例講解javascript實(shí)現(xiàn)異步圖片上傳方法
給大家詳細(xì)講解一下如何通過javascript寫出異步圖片上傳,并且把實(shí)例代碼給大家分享了下,有興趣的讀者們測(cè)試一下吧。2017-12-12