(ここでは jquery ui を使用)
フィドル: http://jsfiddle.net/sP3UZ/2677/
目的: 青いボタンのいずれかをドラッグすると、他のボタンは非表示になり、index() を介して dom 上の .user_task の以前のインスタンスをカウントします。
セレクターに :visible 部分がない場合、コードは正常に機能し、クリックしたアイテムの前の合計アイテムを取得します。セレクターに :visible を追加すると、常に -1 が返されます。
$("#sortable").sortable({
items: ".user_task",
appendTo: "body",
helper: "clone",
revert: true,
start: function(event, ui) {
var taskid = ui.item.data("taskid");
$("[data-taskid='" + taskid + "']").not(ui.helper).hide();
var x = $(".user_task:visible").index(ui.item);
$("#counter").text(x);
},
});
私の最終結果は、最後の青いボタンをドラッグしてx = 2になるはずです(たとえば)