Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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
Javascript JQuery UI-可拖放或排序“;清晰的;相互靠近的绝对位置元素_Javascript_Jquery_Html_Css_Jquery Ui - Fatal编程技术网

Javascript JQuery UI-可拖放或排序“;清晰的;相互靠近的绝对位置元素

Javascript JQuery UI-可拖放或排序“;清晰的;相互靠近的绝对位置元素,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我的页面上有类似于记事本(或日历)的灵活工具。我不想使用完整的日历,我似乎无法完成一个特定的功能来完成我的自定义项目 在这个问题上,我可能会被否决,因为我的方法可能过于笼统(最好的出发点),但我会尽最大努力在这里提出一个真正的价值问题 问题是:当一个新元素落在同一父元素中时,绝对位置的元素是否可以相互“检测”并向下移动(如JQ UI sortable) 我有两个或两个以上相邻的单元格(父单元格)(如日历),“注释”(子元素)必须是绝对位置,才能超过父单元格的宽度。 以下是通用的“起始点”: *我

我的页面上有类似于记事本(或日历)的灵活工具。我不想使用完整的日历,我似乎无法完成一个特定的功能来完成我的自定义项目

在这个问题上,我可能会被否决,因为我的方法可能过于笼统(最好的出发点),但我会尽最大努力在这里提出一个真正的价值问题

问题是:
当一个新元素落在同一父元素中时,绝对位置的元素是否可以相互“检测”并向下移动(如JQ UI sortable)

我有两个或两个以上相邻的单元格(父单元格)(如日历),“注释”(子元素)必须是绝对位置,才能超过父单元格的宽度。

以下是通用的“起始点”:
*我的网格(父网格)可以是Div或Table。我已经设法使子元素扩展/重叠到父元素之外,以覆盖多个相邻单元。它们完美地落在可放下的区域并对齐左上角,但放下的项目彼此看不见

值得赞扬的是,它在月份视图中做到了完美:(如下)

  • 因此,我的问题可能是绝对立场不是前进的方向
  • Sortable可能是答案,但子项不会超过父项宽度
  • 我试过CSS,在Stack上读过很多绝对位置的文章
我有一种感觉,我的方法是错误的(使用绝对值),因此希望那些倒下的选民会怜悯我的灵魂,并解释我的问题的答案是“不,他们不能”,但提出建议,改进我在这一挑战中的方法

你可以利用

Document接口的elementFromPoint()方法返回指定坐标处最顶层的元素

因此,在
悬停
事件或类似事件中,您可以检查目标元素(日历中的事件)是否已存在于特定坐标处。基于此,您可以在被拖动的元素上设置标志或数据,以便在元素被拖放后帮助定位

希望我的建议能帮助您更好地使用它。

您可以利用

Document接口的elementFromPoint()方法返回指定坐标处最顶层的元素

因此,在
悬停
事件或类似事件中,您可以检查目标元素(日历中的事件)是否已存在于特定坐标处。基于此,您可以在被拖动的元素上设置标志或数据,以便在元素被拖放后帮助定位


希望我的建议能帮助您更好地使用它。

这很好,而且在其他许多领域都能很好地发挥作用如果我可以问,由于我的可拖动项捕捉到我的可拖放项,然后设置为绝对值,您的解决方案是否仍会检测到它们,或者绝对值是否会将它们从父项中带出并放到正文或页面上?@zzipper72我对您问题的理解是,如果您将一个事件放在另一个事件之上,您希望其中一个事件向下移动。。。如果正确,拖动时可以使用
elementFromPoint
检查当前坐标附近的元素是否为项目。并在此基础上存储一些数据,如
overAnotherEvent=true
。发生跌落时,检查
overAnotherEvent
的值,如果该值为真,则您知道您是在另一个事件上跌落的。所以你可以推掉元素,或者你想推的其他元素…谢谢你的解释,我会试着凑一把小提琴给其他用户发,我认为这是一个常见的问题,绝对位置上有这么多堆叠的帖子,但似乎没有一个能解决需要绝对位置的重叠长度。小提琴尽可能靠近,你介意看一下吗?我将非常感激,我可以将此标记为答案。这非常好,在许多其他领域都会很好地工作如果我可以问,由于我的可拖动项捕捉到我的可拖放项,然后设置为绝对值,您的解决方案是否仍会检测到它们,或者绝对值是否会将它们从父项中带出并放到正文或页面上?@zzipper72我对您问题的理解是,如果您将一个事件放在另一个事件之上,您希望其中一个事件向下移动。。。如果正确,拖动时可以使用
elementFromPoint
检查当前坐标附近的元素是否为项目。并在此基础上存储一些数据,如
overAnotherEvent=true
。发生跌落时,检查
overAnotherEvent
的值,如果该值为真,则您知道您是在另一个事件上跌落的。所以你可以推掉元素,或者你想推的其他元素…谢谢你的解释,我会试着凑一把小提琴给其他用户发,我认为这是一个常见的问题,绝对位置上有这么多堆叠的帖子,但似乎没有一个能解决需要绝对位置的重叠长度。小提琴尽可能靠近,你介意看一下吗?我将不胜感激,我可以回答这个问题。
$(".droppable").droppable({
    drop: function (event, ui) {
        accept: ".draggable"
        activeClass: "ui-state-hover"
        hoverClass: "ui-state-active"
        $(ui.draggable).offset($(this).offset());
        // $(ui.draggable).data('dropped', true); 
        //var count = $(this).length;
        var currentPos = $(this).position();
        $("#pos").text("CURRENT: \nLeft: " + currentPos.left + "\nTop: " + currentPos.top);

var count = $(this).length;          //wrong child count or absolute not found/counted
var count = $(this).children.length; //wrong child count or absolute not found/counted
        // alert(count);

//this shoud show child count like .length - broken
// var countChild = (document.elementFromPoint(currentPos.top, currentPos.left));
   // alert(countChild);
   // console.log(countChild);   
  }
});