ipu的trunk版的android工程和服务端工程。

hammer.js 3.0KB

    require([ "domReady!", "mobile", "hammer", "jquery", "util" ], function(doc, Mobile, Hammer, jQuery) { new iScroll("content"); // rotate var rotateHam = new Hammer($(".rotate")[0], { domEvents : true }); var liveScale = 1; var currentRotation = 0; rotateHam.get('rotate').set({ enable : true }); jQuery(".rotate").on("rotate",function(e) { var rotation = currentRotation + Math.round(liveScale* e.originalEvent.gesture.rotation); jQuery(this).find("img").css("transform", "rotate( " + rotation + "deg)"); }); jQuery(".rotate").on("rotateend", function(e) { currentRotation += Math.round(e.originalEvent.gesture.rotation); }); // pinch var pinchHam = new Hammer($(".pinch")[0], { domEvents : true }); var width = 1900; var height = 400; var left = 950; var top = 220; pinchHam.get('pinch').set({ enable : true }); jQuery(".pinch").on("pinch", function(e) { if (width * e.originalEvent.gesture.scale >= 300) { jQuery(this).find("img").css({ width : width * e.originalEvent.gesture.scale, "margin-left" : -left * e.originalEvent.gesture.scale, height : height * e.originalEvent.gesture.scale, "margin-top" : -top * e.originalEvent.gesture.scale }); } console.log(e.originalEvent.gesture.scale); }); jQuery(".pinch").on("pinchend", function(e) { width = width * e.originalEvent.gesture.scale; height = height * e.originalEvent.gesture.scale; left = left * e.originalEvent.gesture.scale; top = top * e.originalEvent.gesture.scale; console.log(width); }); // press new Hammer($( ".press")[0], { domEvents: true }); $(".press").on("press", function(e) { $(".demo-overlay").toggle(); }); // pan var panImg, panMargin; new Hammer($(".pan")[0], { domEvents : true }); jQuery(".pan").on("panstart", function(e) { panImg = $(".pan img"); panMargin = parseInt(panImg.css("margin-left"), 10); }); jQuery(".pan").on("pan", function(e) { console.log("pan"); var delta = panMargin + e.originalEvent.gesture.deltaX; console.log(delta); if (delta >= -1750 && delta <= -150) { panImg.css({"margin-left" : panMargin + e.originalEvent.gesture.deltaX}); } }); // tap new Hammer($(".tap")[0], { domEvents : true }); var tapCurrent = 0; var tapImgs = $(".demo-box.tap img"); $(".tap").on("tap", function(e) { if (tapImgs[tapCurrent + 1]) { tapCurrent++; } else { tapCurrent = 0; } tapImgs.removeClass("active"); tapImgs.eq(tapCurrent).addClass("active"); }); // swipe new Hammer($(".swipe")[0], { domEvents : true }); var swipeCurrent = 0; var swipeImgs = $(".demo-box.swipe img"); $(".swipe").on("swipeleft", function(e) { if (swipeImgs[swipeCurrent + 1]) { swipeImgs.removeClass("active"); swipeImgs.eq(++swipeCurrent).addClass("active"); } }); $(".swipe").on("swiperight", function(e) { if (swipeImgs[swipeCurrent - 1]) { swipeImgs.removeClass("active"); swipeImgs.eq(--swipeCurrent).addClass("active"); } }); });