Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jquery拖放-还原当前_Jquery Ui_Drag And Drop - Fatal编程技术网

Jquery ui jquery拖放-还原当前

Jquery ui jquery拖放-还原当前,jquery-ui,drag-and-drop,Jquery Ui,Drag And Drop,我有一个用于清单的jquery UI拖放。它工作,但我希望它不会发生,如果我的库存已经有20个项目(如果它是满的) 我不太擅长javascript/jquery,我不知道如何修复代码来实现这一点。如果库存已满,我希望它恢复到原来的位置 这是我用来拖放的函数 function itemInSpot(drag_item,spot) { // this is my count. i don't want it to drop an item if it's 20 or more. v

我有一个用于清单的jquery UI拖放。它工作,但我希望它不会发生,如果我的库存已经有20个项目(如果它是满的)

我不太擅长javascript/jquery,我不知道如何修复代码来实现这一点。如果库存已满,我希望它恢复到原来的位置

这是我用来拖放的函数

function itemInSpot(drag_item,spot) {

    // this is my count. i don't want it to drop an item if it's 20 or more.
    var inv_count = parseInt(<? echo count($inv_item) ?>, 10);

    var oldSpotItem = $(spot).find('img');  
    oldSpotItem.appendTo('#inventory').draggable({ revert: 'invalid' });

    var item = $('<img />');
    drag_item.empty().remove(); 
    item.attr('src',drag_item.attr('src')).attr('title',drag_item.attr('title')).attr('id',drag_item.attr('id')).attr('class',drag_item.attr('class')).appendTo(spot).draggable({ revert: 'invalid' }); 

    }
那么,如果inv_count>19,我如何添加一个
,然后将项目恢复到其在中的原始位置?

这里有一个基本,它有六个可拖动/可拖放项目,并且在第三个项目落在目标上后,会触发警报,并且在可拖放区域中不允许有其他可拖动项目。元素保留thair Dragable属性,并在尝试放置时恢复到其原始位置

jQuery:

$(".ui-widget-content").draggable({
    revert: "invalid"
});
$("#droppable").droppable({
    drop: function(event, ui) {
        $(this).addClass("ui-state-highlight").find("p").html("Dropped!");
        $(ui.draggable).addClass('in');
        if ($('.in').length == 3) {
            $("#droppable").droppable("option", "accept", ".in");
            alert('Full!');
        }
    }
});

您的库存似乎是静态的。你应该提供更多的代码。它是静态的。这对你来说是个问题。你说的静态是什么意思?
$(".ui-widget-content").draggable({
    revert: "invalid"
});
$("#droppable").droppable({
    drop: function(event, ui) {
        $(this).addClass("ui-state-highlight").find("p").html("Dropped!");
        $(ui.draggable).addClass('in');
        if ($('.in').length == 3) {
            $("#droppable").droppable("option", "accept", ".in");
            alert('Full!');
        }
    }
});