我试图让一个 div 像一艘船一样在水中拖动,但我在旋转正确时遇到了一些麻烦。
这是我到目前为止所拥有的:
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>
有没有更好的方法来设置旋转,以便船的前部始终领先,即使是 360 度旋转?
附加背景:我正在开发一个基本游戏
赏金更新: 我需要“船”能够以一个连续的动作在一个圆圈中拖动,而无需翻转/切换旋转方向。