Ich versuche, ein div zu bekommen, ähnlich wie ein Boot durch Wasser zu ziehen, aber ich habe einige Probleme, die Rotation richtig zu bekommen. HierDrag div durch den führenden Punkt (wie ein Boot in Wasser)
ist das, was ich bisher:
jsFiddle
JS
var start, stop;
$('#canoe').draggable({
containment: '#board',
cursor: 'none',
cursorAt: {
top: 5
},
drag: function (event, ui) {
start = ui.position.left;
setTimeout(function() {
stop = ui.position.left;
}, 150);
$('#canoe').css({
'transform': 'rotate(' + (start - stop) + 'deg)'
});
}
});
CSS
#board {
height:100%;
width:100%;
background:blue;
}
#canoe {
background: #fff;
border-radius:100% 100% 100% 100%;
height:60px;
width:10px;
position:absolute;
left:50%;
bottom:0;
transform-origin:top center;
transition: transform .2s;
}
HTML
<div id="board">
<div id="canoe">A</div>
</div>
Gibt es einen besseren Weg, um die Rotation so einzurichten, dass die Vorderseite des Bootes auch bei einer 360 ° -Drehung immer vorne liegt?
Zusätzlicher Kontext: Ich arbeite an einer Basic Game
Bounty Update: ich das „Boot“ muß in die Lage in einem Kreis in einer kontinuierlichen Bewegung gezogen werden, ohne Umklappen/Umschalten der Drehrichtung.
Sie müssen wahrscheinlich die Rotation innerhalb des 'setTimeout' setzen - http://jsfiddle.net/unuCD/9/ –
@Vega, die es nicht zu tun scheint http://jsfiddle.net/apaul34208/unuCD/10/... es sei denn, es gibt mehr, die ich vermisse? – apaul