jQuery圆形菜单。初始化后更改选项

时间:2014-10-06 01:25:17

标签: javascript jquery

我在我的一个项目中使用这个jQuery插件:

jQUery Circle Menu 该插件非常易于使用,但是根据文档,我没有看到在init之后更改属性的任何方法。例如:

 $('ul').circleMenu({
      item_diameter: 40,
      circle_radius: 100,
      direction: 'bottom-right'
    });

如果我想改变,请说出方向属性。我怎么能这样做:

$('ul').circleMenu("options", "direction", val)

这不起作用。

2 个答案:

答案 0 :(得分:0)

更改选项,然后重新初始化:

$('ul').circleMenu({direction:'bottom-right'}).circleMenu('init');

答案 1 :(得分:0)

在没有“选项”命令或“销毁”命令的情况下,更改选项的安全方法有点复杂。

首先,初始化如下:

  • 在方便的外部范围中分配默认选项地图
  • 制作原始无样式元素的干净副本
  • 使用.circleMenu(options)
  • 设置原始元素的样式
var circleMenuOptions = {
    item_diameter: 40,
    circle_radius: 100,
    direction: 'bottom-right'
};
var $cleanCopy = $('ul').clone(true,true);
$('ul').circleMenu(circleMenuOptions);

之后,重新初始化如下:

  • 将样式元素替换为干净副本的副本
  • 使用.circleMenu(modified_copy_of_the_default_options)初始化新的干净元素。
$('ul')
    .replaceWith($cleanCopy.clone(true,true))
    .circleMenu($.extend({}, circleMenuOptions, {
        "direction": val
    }));

重新初始化后,默认选项和无样式元素的干净副本仍可用于再次重新初始化。