jQuery UI 和水平可排序 - 元素在拖动时向左移动

标签 jquery css jquery-ui

例子:

http://jsfiddle.net/sP3UZ/2675/

只要我开始拖动一个元素,下一个元素就会向左移动一点。

float 元素是实现水平排序的常见解决方案,但我想知道是否有办法在您开始拖动时阻止元素移动?

CSS:

#draggable1 { background:#ff0000; width: 150px; height: 35px; padding: 0.5em; }
#draggable2 { background:#00ff00; width: 150px; height: 35px; padding: 0.5em; }
#draggable3 { background:#0000ff; width: 150px; height: 35px; padding: 0.5em; }

#sortable { width: 700px; height: 35px;  }

#sortable > div { float: left; }

最佳答案

这是因为您为每个可拖动的 div 使用了填充(填充:0.5em;)。 您需要将其删除并为其创建一个新容器。

过程:

  • 在你的 draggables div 中添加 p 标签。
  • 删除可拖动 div 的填充并将其添加到新标签 (p 这里)

一切顺利 =)

这是一个例子:Example

关于jQuery UI 和水平可排序 - 元素在拖动时向左移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918917/

相关文章:

javascript - .click inside stop : function (event, ui) 运行 X 次(其中 X 是项目数)而不是只运行一次

jquery - 如何在 jQuery 中显示当前元素?

javascript - 如何在鼠标悬停时淡入不同的图像?

javascript - 悬停时的 jQuery 可排序列表句柄

javascript - 如何获取日期选择器中选定的年份?

javascript - 在 jquery 中查找和替换字符串

javascript - overflow-y scroll 和 jquery 出现

javascript - try catch 许多脚本组件的错误 - JavaScript

jquery - 使用 jquery 如何测试一个元素的底部是否与另一个元素的底部水平?

javascript - 当计数器有某个值时如何触发事件?