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_Css Transitions_Jquery Ui Draggable_Jquery Ui Droppable - Fatal编程技术网

Jquery 悬停时前一个元素变高时,可拖动元素中的位置错误

Jquery 悬停时前一个元素变高时,可拖动元素中的位置错误,jquery,jquery-ui,css-transitions,jquery-ui-draggable,jquery-ui-droppable,Jquery,Jquery Ui,Css Transitions,Jquery Ui Draggable,Jquery Ui Droppable,我有这样一种情况:我有可拖放到特殊位置的拖拽物。我已经准备好了我描述的功能: 如果将鼠标悬停在.widget divs上,您将看到.bar元素可见。这类元素是启动整个小部件拖动的“处理程序”。在开始时,您会注意到.place现在以灰色背景可见,并且.widget div(您正在拖动的元素)可以是此类位置中的滴管。因此,当.widget悬停在.place上时,它会变得更高(带有一个很酷的CSS3转换) 然后我们就有了问题。。。如果拖动更内部的.widgets(位于另一个.widgets.conta

我有这样一种情况:我有可拖放到特殊位置的拖拽物。我已经准备好了我描述的功能:

如果将鼠标悬停在.widget divs上,您将看到.bar元素可见。这类元素是启动整个小部件拖动的“处理程序”。在开始时,您会注意到.place现在以灰色背景可见,并且.widget div(您正在拖动的元素)可以是此类位置中的滴管。因此,当.widget悬停在.place上时,它会变得更高(带有一个很酷的CSS3转换)

然后我们就有了问题。。。如果拖动更内部的.widgets(位于另一个.widgets.container内),将注意到如果将其向上移动并悬停在.place(它向上!)上,它将向下移动与悬停的.place的新高度相同的距离

最初我的配置没有助手:目的是解决问题的一部分,但它没有解决更多的内部.widgets(第一个链接!)

我想我不能把助手放在体内,因为CSS。。。但我需要解决这个问题。您认为这是jquery中正确定位的错误吗

非常感谢

PD:我已经直接从github导入了最新的CDN jquery.ui和可拖放js文件,而不是使用fiddle默认文件,目的是解决已知滚动错误(在master branch中已经修复)

$('.widget').draggable({
    handle: '.bar',
    helper: 'clone',
    cursorAt: { top: 0 },
    refreshPositions: true,

    start: function () {
        $(this).css('visibility', 'hidden')
        $('body').addClass('dragging');
    },
    stop: function () {
        $(this).css('visibility', 'visible')
        $('body').removeClass('dragging');
    },
    revert: 'invalid',
    zIndex: 100,
});
$('.widget').draggable({
    handle: '.bar',
    cursorAt: { top: 0 },
    refreshPositions: true,
    start: function () {
        $('body').addClass('dragging');
    },
    stop: function () {
        $('body').removeClass('dragging');
    },
    revert: 'invalid',
    zIndex: 100,
});