如何停止jQuery动画并稍后恢复?

时间:2010-12-31 17:41:44

标签: jquery animation

如何停止动画并稍后使用jQuery恢复?

例如,我就是这样,如果用户拖动另一个项目,我想避免上滑。

example here

2 个答案:

答案 0 :(得分:1)

我相信你可以使用jQuery .stop()函数。

jQuery Documentation

答案 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);

        }
    });
});