想知道是否有用于移动设备的 mousemove 等效项,例如 touchmove 或 touchdrag 之类的。
我在容器中有一个图像,可以使用鼠标移动在悬停时平移。有没有办法也可以针对移动设备进行优化?
function MouseMove(e){
var mouseCoordsX=(e.pageX - $imagePan.offset().left);
var mouseCoordsY=(e.pageY - $imagePan.offset().top);
var mousePercentX=mouseCoordsX/containerWidth;
var mousePercentY=mouseCoordsY/containerHeight;
var destX=-(((totalContentW-(containerWidth))-containerWidth)*(mousePercentX));
var destY=-(((totalContentH-(containerHeight))-containerHeight)*(mousePercentY));
var thePosA=mouseCoordsX-destX;
var thePosB=destX-mouseCoordsX;
var thePosC=mouseCoordsY-destY;
var thePosD=destY-mouseCoordsY;
var marginL=$imagePan_panning.css("marginLeft").replace("px", "");
var marginT=$imagePan_panning.css("marginTop").replace("px", "");
var animSpeed=500; //ease amount
var easeType="easeOutCirc";
if(mouseCoordsX>destX || mouseCoordsY>destY){
//$imagePan_container.css("left",-thePosA-marginL); $imagePan_container.css("top",-thePosC-marginT); //without easing
$imagePan_container.stop().animate({left: -thePosA-marginL, top: -thePosC-marginT}, animSpeed,easeType); //with easing
} else if(mouseCoordsX<destX || mouseCoordsY<destY){
//$imagePan_container.css("left",thePosB-marginL); $imagePan_container.css("top",thePosD-marginT); //without easing
$imagePan_container.stop().animate({left: thePosB-marginL, top: thePosD-marginT}, animSpeed,easeType); //with easing
} else {
$imagePan_container.stop();
}
}
$imagePan_panning.css("margin-left",($imagePan.width()-$imagePan_panning.width())/2).css("margin-top",($imagePan.height()-$imagePan_panning.height())/2);
$imagePan.bind("mousemove", function(event){
MouseMove(event);
});