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将元素放置在精确位置_Jquery_Jquery Ui_Knockout.js - Fatal编程技术网

使用JQuery将元素放置在精确位置

使用JQuery将元素放置在精确位置,jquery,jquery-ui,knockout.js,Jquery,Jquery Ui,Knockout.js,我制作了一个UI,在其中我创建了一个div,其中包含多个div或slot(比如)。这些slot是使用Knockout.js生成的,我的意思是,这些插槽绑定在滑块值上。根据滑块的值,它会动态生成插槽。我关心的是,我想在这些div上删除其他外部元素,但当我这样做时,它会在最后一个div上删除,如果我再次删除它,它会添加到插槽的上一个div。bt我希望必须删除它我把它放在同一个位置。它也可以在两个分区的中间。请建议我。我的代码如下: <div class="slotSystem">

我制作了一个UI,在其中我创建了一个div,其中包含多个div或slot(比如)。这些slot是使用Knockout.js生成的,我的意思是,这些插槽绑定在滑块值上。根据滑块的值,它会动态生成插槽。我关心的是,我想在这些div上删除其他外部元素,但当我这样做时,它会在最后一个div上删除,如果我再次删除它,它会添加到插槽的上一个div。bt我希望必须删除它我把它放在同一个位置。它也可以在两个分区的中间。请建议我。我的代码如下:

<div class="slotSystem">
                        <div class="slotMachine" data-bind="foreach:slots,style:{height:height()+'px'}">
                            <div class="slot">
                                <div class="slot-info drop" data-bind="text:formatedTime,style:{height:height()+'px'}"></div>
                            </div>
                        </div>
                    </div>
$(".drop").droppable({
            accept: ".draggable",
            tolerance:"pointer",
            drop: function (event, ui) {
                console.log("drop");
                var dropped = ui.draggable;
                var droppedOn = $(this);
                $(dropped).detach().css({ top: 0, left: 0 }).appendTo(droppedOn);

                $('#clear-organizer').show();
                $('#saveplaylist').show();
                $(dropped).height(10);

                var closebtn = ui.draggable.find(' .close');
                $(closebtn).addClass('close-organizer');


            }
        });

$(“.drop”).dropable({
接受:“.draggable”,
公差:“指针”,
drop:函数(事件、用户界面){
控制台日志(“下降”);
var DROPED=ui.draggable;
var droppedOn=$(本);
$(已删除).detach().css({top:0,left:0}).appendTo(droppedOn);
$(“#清除组织者”).show();
$(“#保存播放列表”).show();
高度(10);
var closebtn=ui.draggable.find('.close');
$(closebtn).addClass('close-organizer');
}
});

它完全按照您在代码中告诉它的方式执行。要使其符合您在问题中编写的内容,您只需将
.slotMachine
DIV设置为可拖放的,而不是
.slot info
(甚至是
.slot


编辑:如果您想找出您放在哪个DIV上并将拖动的DIV放在它旁边,请将
.slot
s droppable保留在您的DropHandler中,并使用or(它将您的元素插入
droppedOn
目标的外部),而不是您现在使用的
.appendTo()
(这将在
droppedOn
目标中插入您的元素

我也经历了这一点。但正如您在回答中所说的,它不会用classname=“slot”将删除的DIV附加到两个不同的DIV之间。啊,好的,然后使slot可删除,而不是
。appendTo(droppedOn)
使用
.insertBefore(droppedOn)
.insertAfter(droppedOn)
。不起作用。我需要这个可删除元素必须位于两个分区之间,这两个分区之间使用1px的边框相互连接,这意味着它必须在指定的两个分区之间共享。当然它是有效的。请参阅您需要在
droppedOn
的父分区之前插入。您应该将您的帖子作为一个明确的问题来制定,以最大限度地提高您的c我的朋友,我很难得到答案。