【问题标题】:jQuery UI drag and drop between DIVs, smoothingjQuery UI 在 DIV 之间拖放,平滑
【发布时间】:2012-02-08 02:42:43
【问题描述】:

我对 jQueryjQuery UI 库产生了兴趣,因为它们比纯 JavaScript 编程实践提供的好处。

我正在尝试实现a drag and drop GUI for my hobby site

$('#artOfBeing').draggable ({ 
    containment: '#dataFrame', 
    cursor: 'pointer', 
    snap: '#dataFrame', 
    helper: 'clone' 
});
    
$('#dataFrame').droppable({
    drop: handleDropEvent   
});

我已经看到了 jQuery 的好处,它可以轻松地为右侧的菜单栏图标(被拖到目标放置 div)提供一种很好的克隆方法。

当我用鼠标选择右侧垂直菜单栏的最顶部图标时;任何类型的移动都会触发拖放操作。图标跳转到容器#div(在 div(源和目标)之间没有过渡动画。

我希望在我选择图标和将其移动到放置 div 的时间之间实现平滑过渡,而不是直接跳转到内容先生。猴子 div。

我还想了解有关取消正在进行的拖放操作的一些信息。

请提供有关如何最好地学习 jQuery 库的这些问题的提示。

编辑: 下面提供的 Nabab 解决方案有一些奇怪的效果。首先,我会得到不同的结果,具体取决于我是在本地机器上检查还是从 Web 主机服务器下载。

在本地测试中,IE9 运行良好,图标拖动仅限于包含拖放 div 的容器 DIV。 FF 或 Chrome 本地执行,结果很奇怪,拖拽项的行为很奇怪。

在线网络服务器和它们的行为方式都是一样的。包含 div 被忽略,我可以在屏幕上随意拖动图标,这很实用,但我想将拖动限制在内容和导航 div 内。

关于为什么会发生这种行为的任何想法?

【问题讨论】:

  • 据我所知,本地服务器和在线服务器之间的差异只能来自 cookie、浏览器缓存、文件路径或文件本身(即本地和服务器之间的差异)。

标签: jquery drag-and-drop


【解决方案1】:

如果你有一个容器,将你的源放在这个容器内会更合乎逻辑。为什么不将中心空间 + 按钮空间包装在 DIV 中,这将成为容器。执行动画将非常困难,因为项目的位置取决于鼠标(拖动它),并且如果您的源在容器之外,我无法想象它将如何执行此转换...

【讨论】:

  • 这个解决方案似乎在 IE9 中有效!但在 FF 或 Safari 中不起作用!很抱歉将您的答案降级。期待进一步的建议!谢谢。
  • 我通过完全刷新所有浏览器的缓存重新检查,现在它可以在任何地方工作。你确实值得称赞。
  • 感谢,因为这种方法不需要取消操作。正确的事件仅在放置在放置 div 上时发生。简单!
  • 我遇到了与此问题相关的其他一些问题,我将它们作为编辑包含在我的原始帖子中。
  • 然后不知何故又分崩离析... :( FF、Safari 和 Chrome 存在同样的问题。欢迎任何人提供任何帮助。
猜你喜欢
  • 2013-03-06
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多