答案 0 :(得分:1)
我相信你可以使用jQuery .stop()函数。
答案 1 :(得分:1)
在这里查看jQuery stop()
那就是你所需要的。
编辑:我看过代码,我想我已经知道了。 我添加了一些布尔变量来检查以确定是否应该发生slideUp。
$(function() {
var item = $("#items .item");
var slider = $(".slider");
var droppable = $("#favorite");
var dropComplete = false;
var dragging = false;
item.draggable({
opacity: 0.75,
helper: "clone",
start: function() {
// set variables for drag and drop.
dropComplete = false;
dragging = true;
slider.slideDown().clearQueue();
},
stop: function(){
// drag has been abandoned.
dragging = false;
setTimeout(function () {
if (dragging === false && dropComplete === false){
slider.clearQueue().slideUp();
}
}, 3000);
}
}).disableSelection();
droppable.droppable({
tolerance: 'pointer',
drop: function(event, ui) {
$('.last.item').replaceWith($(ui.draggable).clone().addClass('last'));
//alert(ui.draggable.attr('id').substring(6));
// drop is complete.
dropComplete = true;
setTimeout(function () {
if (dropComplete === true){
slider.clearQueue().slideUp();
}
}, 3000);
}
});
});