我已经实现了一个电唱机,我成功地让它顺时针旋转,但是,我想让它双向旋转。:-)
我已经修改了我找到的脚本,添加了一些触摸事件,因为我主要需要它在 iPad 上工作。
这是它的样子:
function getDistance(x1,y1,x2,y2){
return Math.sqrt((x1-x2) * (x1-x2) + (y2-y1) * (y2-y1));
}
var div = $("#turntable");
var rotation = 0;
var isDragging = false;
div.bind('touchstart mousedown', function(event) {
event.preventDefault();
isDragging = true;
lastX = position(event).x;
lastY = position(event).y;
});
div.bind('touchend mouseup', function(event) {
event.preventDefault();
isDragging = false;
});
div.bind('touchmove mousemove', function(event) {
if (isDragging) {
var curX = position(event).x;
console.log(curX);
var curY = position(event).y;
console.log(curY);
rotation += getDistance(curX,curY,lastX,lastY);
var rotateCSS = 'rotate(' + rotation + 'deg)';
$(this).css({
'-webkit-transform': rotateCSS
});
lastX = curX;
lastY = curY;
}
})
我需要在我的 touchmove 事件中设置一个 if 来检查你旋转的方向,但我无法弄清楚。任何帮助将不胜感激!或者,如果您有其他方法,我很乐意听到。
这里是我从中获取脚本的原始 jsfiddle 的链接: jsfiddle