Css jqueryui:放入相对定位的容器中
我使用jQueryUI将对象的克隆拖到可拖放空间。但是,我需要可拖放空间具有Css jqueryui:放入相对定位的容器中,css,jquery-ui,Css,Jquery Ui,我使用jQueryUI将对象的克隆拖到可拖放空间。但是,我需要可拖放空间具有position:relative属性,因为可拖放空间会滚动,我希望被拖放的元素也会随之滚动。但是,当我放下克隆时,它会跳到右边,而不是停留在我放下它的地方。我该如何应对 下面是一把小提琴,它展示了我的问题: 编辑:根据我的评论进行更新。这里有一个解决方案,但我不确定,如果是,你在寻找什么 替换此行: $(this).append($(ui.helper).clone()); 关于这一点: $('<div cla
position:relative
属性,因为可拖放空间会滚动,我希望被拖放的元素也会随之滚动。但是,当我放下克隆时,它会跳到右边,而不是停留在我放下它的地方。我该如何应对
下面是一把小提琴,它展示了我的问题:
编辑:根据我的评论进行更新。这里有一个解决方案,但我不确定,如果是,你在寻找什么 替换此行:
$(this).append($(ui.helper).clone());
关于这一点:
$('<div class="to_drag"></div>').appendTo(this);
$('')。附加到(本);
如果不使用ui.helper,它就可以工作 试试这个
$(".canvas").droppable({
accept: '.to_drag',
drop: function(event, ui) {
var clone = $(ui.helper).clone();
var parent = $('.canvas.ui-droppable');
$(this).append(clone);
var leftAdjust = clone.position().left - parent.offset().left;
var topAdjust = clone.position().top - parent.offset().top;
clone.css({left: leftAdjust, top: topAdjust});
}
});
基本上,这个想法是,当你把可拖放的文件放在一个相对的div中。。包含在Dropable中的任何元素都会获得不必要地添加到其中的父元素的偏移位置。。因此,您只需在drop callback函数中删除额外的偏移量
请密切注意和之间的区别。。这是理解上述代码的关键
注意:
我尝试使用JSFIDLE。。但JSFIDLE在定位方面有点不太灵活。。仅在浏览器上试用,它应该可以工作为什么需要将可拖放空间设置为
位置:相对
?也许,如果你给我的代码添加一点上下文,我就可以弄明白我需要能够滚动画布,并让拖动的元素随画布一起滚动。我想这个更新说明了我对相对职位的需要:对不起,我还没有看到你的副手,我想我的代码在这方面不起作用。但是我在新的上试过了,它也能工作。代码的问题是元素跳到了容器的左上角,所以这是一个类似的问题。这正是我想要的。谢谢我的荣幸!我很高兴你举了一个更广泛的例子。。它帮助我帮助你:)@abbood你好,请任何人回答我的问题,请点击此链接: