マウスをドラッグするときにスピニングホイールを回転させようとしています。ホイールは3つのピースで構成されているため、回転させたいホイールのセクションをターゲットにするために、各画像を個別にマッピングしました。現在、それはかなりうまく機能しています。唯一の問題は、回転パラメータにevent.clientXを使用していることです。これは時々ランダムになる可能性があり、開始時にホイールがランダムな角度に移動することもありますが、ほとんどの場合は機能します。より良い回転パラメータをスクリプトにフィードする数式が欲しいだけです。これが私が現在持っているコードです:
var isDragging = false;
var innerWheelActive = false;
var middleWheelActive = false;
var outerWheelActive = false;
$(document).ready(function() {
/*------------------------------------------*/
$("#mapping map #middleArea").mousedown(function() {
isDragging = true;
middleWheelActive = true;
return false;
});
$("#mapping map #innerArea").mousedown(function() {
isDragging = true;
innerWheelActive = true;
return false;
});
$("#mapping map #outerArea").mousedown(function() {
isDragging = true;
outerWheelActive = true;
return false;
});
$(document).mousemove(function(event) {
if (isDragging) {
var rotateCSS = 'rotate(' + event.clientX + 'deg)';
if(innerWheelActive)
$('#innerWheel img').css({ '-webkit-transform': rotateCSS });
else if(middleWheelActive)
$('#middleWheel img').css({ '-webkit-transform': rotateCSS });
else if(outerWheelActive)
$('#outerWheel img').css({ '-webkit-transform': rotateCSS });
return false;
}
});
$(document).mouseup(function() {
if (isDragging){
console.log('stopped');
isDragging = false;
innerWheelActive = false;
middleWheelActive = false;
outerWheelActive = false;
return false;
}
});
});