var transformString = Modernizr.prefixed('transform');
var inputDown, inputMove, inputUp;
if (window.Touch) {
inputDown = "touchstart";
inputMove = "touchmove";
inputUp = "touchend";
}
else {
inputDown = "mousedown";
inputMove = "mousemove";
inputUp = "mouseup";
}
var mouse = { startX: 0, startY: 0 };
var innerElement = $('.threedee');
function normalizedX(event){
return window.Touch ? event.originalEvent.touches[0].pageX : event.pageX;
}
function normalizedY(event){
return window.Touch ? event.originalEvent.touches[0].pageY : event.pageY;
}
$(document).bind(inputDown, function(event){
event.preventDefault();
if(event.button === 2) return true; // right-click
mouse.startX = normalizedX(event);
mouse.startY = normalizedY(event);
// store the transform state
// globalMatrix.setMatrixValue($inner.css('-webkit-transform'));
$(document)
.bind(inputMove, move)
.one(inputUp, function(){ $(document).unbind(inputMove); });
});
function move(event){
event.preventDefault();
var offsetX = normalizedX(event) - mouse.startX;
var offsetY = normalizedY(event) - mouse.startY;
if(event.shiftKey){
offsetX = roundToMultiple(offsetX, 15);
offsetY = roundToMultiple(offsetY, 15);
}
innerElement.css(transformString, 'rotateY('+offsetX+'deg) rotateX('+-offsetY+'deg)');
/* move relative to the initial position
$inner.css('-webkit-transform', globalMatrix.rotate(-offsetY, offsetX, 0));//*/
}
function roundToMultiple(number, multiple){
var value = number/multiple
, integer = Math.floor(value)
, rest = value - integer;
return rest > 0.5 ? (integer+1)*multiple : integer*multiple;
}
javascriptの部分だけを見てみてください、私の問題はそこにあります。
なぜ「イベント」がスクリプト内のほとんどの関数のパラメーターおよび引数として渡されるのか疑問に思います。時々それは「e」でもあるかもしれません。誰がそれらを作成しましたか?
私自身、この「イベント」変数を担当する「イベント」変数を作成したことはありません。