我不熟悉JavaScript,我是jQuery的初学者!我在网上找到了RadMenu Pluging并希望使用它,以便它在我点击的文档的任何位置打开,而不仅仅是一个固定的位置。
$(function() {
jQuery("#radial_container").radmenu({
listClass: 'list',
itemClass: 'item',
radius: 100,
animSpeed: 400,
centerX: 30,
centerY: 100,
selectEvent: "click",
onSelect: function($selected) {
alert("you clicked on .. "
+ $selected.index());
},
angleOffset: Math.PI,
onShow: function($menuitems) {
$menuitems.each(function(i) {
var $this = jQuery(this);
setTimeout(function() {
$this.fadeIn(500);
}, i * 100);
});
}
});
});
我正在尝试使用onClick或鼠标悬停方法实时更新centerX和centerY值,但它没有得到更新。
请建议我如何使其发挥作用。
答案 0 :(得分:1)
这可以通过在点击事件发生时更改包含您的径向菜单的top
的{{1}}和left
属性来实现。例如,
<div>
以下是您可以进一步使用的工作版本的小提琴:http://jsfiddle.net/munderwood/7asLq/
我选择用于移动圆心的两个值$(document).click(function (e) {
$('#radial_container').css('left', (e.pageX - 30) + 'px');
$('#radial_container').css('top', (e.pageY - 40) + 'px');
$("#radial_container").radmenu("show");
});
和-30
只是因为它们似乎有效,或多或少。它们会随着菜单的半径,文本大小等而改变,但是我将它们保留下来,以便您可以看到相对于鼠标光标移动菜单的方式和位置。