手机下的ev.pageX无效
把 ev.pageX 换成 e.originalEvent.targetTouches[0].pageX;
例子:
var start_x, start_y, end_x, end_y, move_num; var client_height = $(window).height(); $("#containner div").on("touchstart", function(e) { start_x = e.originalEvent.targetTouches[0].clientX; start_y = e.originalEvent.targetTouches[0].clientY; console.log(start_x); console.log(start_y); }); $("#containner div").on("touchmove", function(e) { $(this).removeClass("slow_action"); end_x = e.originalEvent.targetTouches[0].clientX; end_y = e.originalEvent.targetTouches[0].clientY; move_num = (end_y - start_y).toFixed(2); console.log(move_num); var tf_num = "translateY(" + move_num + "px)"; $(this).css("-webkit-transform", tf_num); }); $("#containner div").on("touchend", function() { $(this).addClass("slow_action"); if (move_num < -(client_height / 2)) { $(this).css({ "-webkit-transform": "translateY(-900px)", }); } else if (move_num > 0) { $(this).css({ "-webkit-transform": "translateY(0px)", }); } else { $(this).css({ "-webkit-transform": "translateY(0px)", }); } });

浙公网安备 33010602011771号