dzo*_*jan 54 jquery jquery-ui-sortable
有没有办法让助手的当前位置被拖到新位置?
$("#sortable").sortable({
start: function (event, ui) {
var currPos1 = ui.item.index();
},
change: function (event, ui) {
var currPos2 = ui.item.index();
}
});
Run Code Online (Sandbox Code Playgroud)
当实际变化发生时,似乎currPos1和currPos2具有相同的值!
我需要实现的是向用户突出显示"开始拖动元素"与"当前替换元素"之间的所有位置.一旦用户释放鼠标按钮更新发生,只有这时我才能获得新的位置,但是在鼠标释放之前我需要它.
Luc*_*ofi 88
$(function() {
$('#sortable').sortable({
start: function(event, ui) {
var start_pos = ui.item.index();
ui.item.data('start_pos', start_pos);
},
change: function(event, ui) {
var start_pos = ui.item.data('start_pos');
var index = ui.placeholder.index();
if (start_pos < index) {
$('#sortable li:nth-child(' + index + ')').addClass('highlights');
} else {
$('#sortable li:eq(' + (index + 1) + ')').addClass('highlights');
}
},
update: function(event, ui) {
$('#sortable li').removeClass('highlights');
}
});
});
Run Code Online (Sandbox Code Playgroud)
Glu*_*uip 17
这对我有用:
start: function(event, ui) {
var start_pos = ui.item.index();
ui.item.data('start_pos', start_pos);
},
update: function (event, ui) {
var start_pos = ui.item.data('start_pos');
var end_pos = ui.item.index();
//$('#sortable li').removeClass('highlights');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108672 次 |
| 最近记录: |