大家好,我在 jQuery 和 jQuery Radmenu 插件的帮助下成功实现了上面的部分菜单(菜单打开、项目出现、项目移动到目的地)。我使用以下方法使目标项目沿着圆圈旋转/移动多次,因为 radmenu 的实现方式,每次点击/事件仅移动项目一次:
$('#radial_container').radmenu("next").radmenu("next");
然而,这就是我陷入困境的地方,因为我没有看到动画停止后使用回调函数的选项(last .radmenu("next")
)。该插件有“afterAnimation”选项,但它没有用,因为它在每个 .radmenu("next")
之后触发 - 换句话说,太频繁了。我还尝试使用 jQuery 的 queue()
和 dequeue()
但没有任何运气。
如果我能获得有关如何解决此问题的帮助或为我指明我应该寻找的正确方向,我将不胜感激。在过去的几天里,我花了相当多的时间搜索类似的菜单,但找不到任何与我想做的事情类似的东西,因为这不是一个非常奇特的想法。谢谢!
编辑:添加了菜单说明的链接。
最佳答案
我之前的回复被删除了,这让我有点不高兴。
没关系。
我认为您需要的解决方案可能是这样的:
onSelect: function($selected){ // show what is returned
var i=0;
while (i<= $selected.index())
{
jQuery("#radial_container").radmenu("next");
i++;
}
},
然后,如果需要,只需调整您的数学,以确保目的地正确。如果你想更聪明一点,你可以说,如果索引小于圆的一半,则选择 prev 而不是 next。
希望这对您有所帮助。它对我来说工作得很好。
关于javascript - 使用 jQuery 和 jQuery Radmenu 插件的圆形菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695152/