我希望有人可以帮助我。我认为用jQuery Draggable查看CursorAt选项会很简单,但也许我错过了一些东西。基本上我想将拖动元素放在我的鼠标光标下方的左上角或右上角位置。
我希望我能做到:
$(this).draggable("option", "cursorAt", {
left: 0,
top:0
});
top / left属性会改变,但似乎不想工作。
以下是我的表现:
$( "#matches ul li:first-child" ).draggable({
addClasses: true,
snap: true,
cursor: "crosshair",
start: function(event, ui) {
$(this).draggable("option", "cursorAt", {
left: Math.floor(this.clientWidth / 2),
top: Math.floor(this.clientHeight / 2)
});
},
drag: function(event, ui) {
var dragged = ui.helper;
var dragged_data = dragged.data('draggable');
var direction = (dragged_data.originalPosition.left > dragged.position().left) ? 'left' : 'right';
$( "#matches ul li:first-child" ).removeClass('left right').addClass( direction );
if( direction == "left"){
$(this).draggable("option", "cursorAt", {
left: 0,
top:0
});
}else{
$(this).draggable("option", "cursorAt", {
right: 0,
top:0
});
}
},
stop: function(event, ui) {
$( "#matches ul li:first-child" ).removeClass('left right');
}
});
一如既往,提前谢谢。
Ps我也试过简单的顶级&左边0并使用css margin-left:+/-元素的宽度。