1

我在尝试将元素拖放到拖动开始时出现的滑动面板中时遇到了一些问题。第一滴不起作用。您必须放下该物品两次。这不应该发生。

我还想让面板保持可见 3 秒,让用户有机会拖放另一个图像,而是保持在那里它再次上下滑动。有可能避免吗?或者在另一个下降时重置延迟?我的意思是,如果另一个元素被丢弃,则再次开始延迟。

而且$('.last.thumb').replaceWith($(ui.draggable).clone());效果不好。这应该显示最后添加的图像。

$(function() {
var thumb = $(".thumb");
var container = $("#favorites");
thumb.draggable({
    opacity: 0.75,
    helper: "clone",
    start: function() {
        container.slideDown();
    },
    stop: function(){
        container.delay(3000).slideUp();
    }
});

container.droppable({
    tolerance: 'fit',    
    drop: function(event, ui) {
        $('.last.thumb').replaceWith($(ui.draggable).clone().addClass('last'));
        alert(ui.draggable.attr('id').substring(6));
        container.delay(3000).slideUp();
    }
});
});

这里的工作示例

4

1 回答 1

1

关于上下滑动,尝试使用 .clearQueue() 在你的例子中,你的 .last div 上没有 .thumb ,当你用克隆替换它时,它不再有最后一个类,你必须将其添加到克隆中。见这个例子: http: //www.jsfiddle.net/dh8A8/5/

于 2010-12-30T15:00:28.330 回答