Jquery ui jQuery UI可拖动元素始终位于顶部

Jquery ui jQuery UI可拖动元素始终位于顶部,jquery-ui,jquery-ui-draggable,Jquery Ui,Jquery Ui Draggable,我需要从左侧区域拖动元素,使其始终位于顶部。当我第一次从左侧区域拖动它们时,它们就是,但是如果我将它们放到框2中,然后决定拖动到框1中,我拖动的项目将显示在框1下方 困惑?下面是我所说的内容的一部分 是的,我添加了zIndex——没有帮助。看起来您正在进行编辑。:) 解决方案是将两个框设置为相同的z索引,然后使用“开始”事件降低同级(卡未结束的框)的z索引。“停止”事件应再次将它们设置为相等。当然,拖拽装置本身需要更高的z指数 你也可以试试这个 编辑:请注意,它实际上是需要再次将z-indexs

我需要从左侧区域拖动元素,使其始终位于顶部。当我第一次从左侧区域拖动它们时,它们就是,但是如果我将它们放到框2中,然后决定拖动到框1中,我拖动的项目将显示在框1下方

困惑?下面是我所说的内容的一部分


是的,我添加了zIndex——没有帮助。

看起来您正在进行编辑。:)

解决方案是将两个框设置为相同的z索引,然后使用“开始”事件降低同级(卡未结束的框)的z索引。“停止”事件应再次将它们设置为相等。当然,拖拽装置本身需要更高的z指数

你也可以试试这个

编辑:请注意,它实际上是需要再次将z-indexs设置为相等的draggable
drop
事件

您需要进行以下更改(当然,在代码中省略星号):

dragdrop client.js中

// make the new card draggable
    newCard.draggable({
        zIndex: 2500,
        handle: ".card",
        stack: ".card",
        revert: "invalid",
        start: function() {
            $(this).effect("highlight", {}, 1000);
            $(this).css( "cursor","move" );
                **var $par = $(this).parents('.stack');
                if ($par.length == 1) {
                    console.log('in stack');
                    $par.siblings().css('z-index', '400');
                }**
        },
        stop: function() {
            $(this).css("cursor","default");
                $(".stack").css('z-index', '500');
        }
    });

// make the new stack droppable
    newStack.droppable({
        tolerance: "intersect",
        accept: ".card",
        greedy: true,
        drop: function(event, ui) {
            **$(".stack").css('z-index', '500');**
            card = ui.draggable;
            putCardIntoStack(card,stackId);
        }
    }); 
dragdrop client.css中

.stack {
    width: 300px;
    border: 1px dashed #ccc;
    background-color: #f5f5f5;
    margin: 10px;
    float:left;
    **z-index:500;**
}

当动态插入元素时,我执行two7s_clash建议的拖放操作。我们在画布上插入了一些元素,然后我们想在所有内容上拖放:

start: function(e) { $('element').css('z-index', -1)}
stop:  function(e) { $('element').css('z-index', 0)}

你的链接没有显示。。。请重新添加。很抱歉,请立即尝试。您是否已将z索引添加到元素的类/id中?原因很可能jqueryui正在向元素添加另一个类(如果正在拖动该类)。也许这就是你需要改变z-index的地方。嗯,有趣的是。让我试试,谢谢试过了-没用…没关系,我误解了你的问题。这将仅适用于正在拖动的活动图元。不是在拖动之后。@santa:我的解决方案将动态完成。您需要一个函数来查看
.card
是否是
.stack
的子项。如果是的话,你可以用“开始”事件等降低同级
.stack
的z索引。如果你不明白,我可以在今晚晚些时候尝试添加更精确的代码。@santa:编辑答案以给出工作示例。让我知道进展如何@圣诞老人:我的例子在ie中失败了,因为我的例子中没有
/incl/pro/dragdrop server.php
。这会导致第147行的jquery ajax函数爆炸。看看我在firefox或chrome中的例子,它是有效的。在ie中尝试我对你的更改;“它也会起作用的。”圣诞老人:看起来你把你的演示带下来了。请给我你的支票,如果这有帮助的话…我也有类似的情况@two7s_clash根据你的建议,我只是{让所有的draggable都得到一个100的z指数,然后在mousedown上得到$(这个)一个200的z指数。谢谢