Javascript jqueryui:我怎么知道div是以拖动事件为中心的呢
如果我有两个或更多的div或p标签。我想知道,如果我将“我是标题H3”(即我的H3标记)拖动到“我是标题H1”(即我的H1标记)或“我是一个平行图形p”(即我的p标记),我如何才能在小提琴示例(我将在下面提供)中获得每个元素的中心表示两个元素彼此居中的线Javascript jqueryui:我怎么知道div是以拖动事件为中心的呢,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,如果我有两个或更多的div或p标签。我想知道,如果我将“我是标题H3”(即我的H3标记)拖动到“我是标题H1”(即我的H1标记)或“我是一个平行图形p”(即我的p标记),我如何才能在小提琴示例(我将在下面提供)中获得每个元素的中心表示两个元素彼此居中的线 var element = $(".draggable_element"); element.each(function() { $(this).draggable({ zIndex: 999, scroll: false
var element = $(".draggable_element");
element.each(function() {
$(this).draggable({
zIndex: 999,
scroll: false,
refreshPosition: true,
});
});
以下代码将帮助您在拖动时找到每个元素的中心
小提琴不工作意味着元素不可拖动一件事,当元素彼此居中时,当元素居中时,会出现某种线条。你的意思是当所有3个元素或任意两个元素时?所有元素,不限制为2或3意味着如果示例(小提琴)有更多的div标签或p标签或任何其他标签任何元素,如假设我想将我的p标签居中对齐到H1,将我的H3标签对齐到p标签或H1标签的左侧或右侧。更新答案和小提琴。我使用了parseInt,如果您需要精确的中心,可以将其删除
var element = $(".draggable_element");
element.each(function() {
$(this).draggable({
zIndex: 999,
scroll: false,
refreshPosition: true,
drag: function() {
console.log(1);
},
stop:function(){
checkIfCenter($(this));
}
});
});
checkIfCenter = function(el){
var cPos;
var elCenter = findCentre(el);
var isCenter = true;
$( ".draggable_element" ).each(function() {
cPos = findCentre($(this));
console.log(cPos);
if(cPos.x == elCenter.x && cPos.y == elCenter.y && isCenter){
isCenter = true;
}else{
isCenter = false;
}
});
if(isCenter){
alert("All elements came in center");
}
}
findCentre = function(el){
var offset = el.offset();
var width = el.width();
var height = el.height();
var pos = { x : parseInt(offset.left + width / 2),y : parseInt(offset.top + height / 2)}
return pos;
}