jQuery UI Draggables - 更改恢复位置?

发布于 2024-07-26 15:15:34 字数 273 浏览 4 评论 0原文

是否可以编辑 jQuery UI 拖动帮助器的恢复位置? 例如,我有用户可以单击图标并将其拖入页面上的组的图标。 当用户单击图标并开始拖动时,只要用户继续按住单击,就会在其光标正下方出现一条帮助消息并跟随光标。 如果助手被放入一个组中,它就会消失。 如果助手没有被放入组中,它将使用 revert: 'invalid' 返回到其原始位置。 我的问题是,我可以编辑助手的原始位置吗? 它似乎总是恢复到 left: 0 和 top: 0 的绝对位置,但我不知道如何编辑这些值。 我需要将返回位置编辑为向左多约 300px。

Is it possible to edit the revert position of a jQuery UI draggables helper? For example, I have icons the user can click and drag into groups on the page. When the user clicks an icon and starts dragging, a helper message appears right under their cursor and follows the cursor so long as they continue to hold the click. If the helper is dropped into a group, it disappears. If the helper is not dropped into a group, it returns to it's original position using revert: 'invalid'. My question is, can I edit that original position of the helper? It appears to always revert back to the absolute position of left: 0 and top: 0 but I can't figure out how to edit these values. I need to edit the return position to be about 300px more to the left.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半仙 2024-08-02 15:15:34

您可以尝试在拖动开始后重新定位可拖动元素,释放时元素将恢复到原始位置,然后跳转到新位置 - 我还没有弄清楚如何解决这个问题,但此方法有效

$(document).ready(function(){
 $(".dragMe").draggable({
  helper : 'clone',
  revert : true,
  start: function(e,ui){
   // when starting the drag, reposition the element
   $(this).hide().css({ position: 'relative', left: '-300px', top: 0 });
  },
  stop: function(e,ui){
   $(this).show();
  }
 });
 $("#dropBox").droppable({
  drop: function(e, ui) {
   ui.draggable.appendTo($(this)).show()
    // reset the position of the element to zero (so it fits in the drop box)
    .css({ position: 'relative', left: 0 })
   ui.helper.remove();
  }
 });
})

You can try repositioning the draggable element once the drag has started, when released the element will revert to the original position and then jump to the new position - I haven't figured out how to get around that, but this method works

$(document).ready(function(){
 $(".dragMe").draggable({
  helper : 'clone',
  revert : true,
  start: function(e,ui){
   // when starting the drag, reposition the element
   $(this).hide().css({ position: 'relative', left: '-300px', top: 0 });
  },
  stop: function(e,ui){
   $(this).show();
  }
 });
 $("#dropBox").droppable({
  drop: function(e, ui) {
   ui.draggable.appendTo($(this)).show()
    // reset the position of the element to zero (so it fits in the drop box)
    .css({ position: 'relative', left: 0 })
   ui.helper.remove();
  }
 });
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文