我使用道场的图形库有一个蜘蛛情节隐藏了一系列默认定义是这样的:在蜘蛛情节
require([
"dojox/charting/Chart",
"dojox/charting/themes/Claro",
"dojox/charting/plot2d/Spider",
"dojox/charting/action2d/Tooltip",
"dojox/charting/widget/SelectableLegend",
"dojox/charting/axis2d/Default"
], function (Chart, theme, Spider, Tooltip, Legend, Default) {
var chart = new Chart(element).setTheme(theme).addPlot("default", {
type: Spider,
radius: 200,
fontColor: "black",
labelOffset: "-20"
});
var colors = ["blue", "red", "green", "yellow", "purple", "orange", "teal",
"maroon", "olive", "lime", "aqua", "fuchsia"];
$.each(factors, function (index, factor) {
chart.addAxis(factor.name, {
type: Default,
min: factor.min,
max: factor.max
});
});
$.each(presets, function (pIndex, preset) {
var data = [];
$.each(factors, function (fIndex, factor) {
data[factor.name] = preset.values[fIndex];
});
chart.addSeries(preset.short, data, {
fill: colors[pIndex % colors.length]
});
});
new Tooltip(chart, "default");
chart.render();
new Legend({
chart: chart,
horizontal: false
}, $(element).next(".legend")[0]);
});
我添加了一系列的阵列中的每个成员称为presets
我用一个可供选择的图例,让用户可以根据需要打开或关闭它们。但是,我在文档中找不到的是如何在未选中的状态下启动一系列操作?理想情况下我想要做的事情是限制页面加载时可见的系列的数量,因为在某些情况下,我有多达14个预设,并且直到用户取消选择一堆为止,它看起来一团糟。所以我希望在开始时将前5个以上的每个预设隐藏起来。
这里是一个粗糙的fiddle我敲了演示。我想要的是当剧情第一次显示时,部分剧集未被选中。
更新:我尝试添加我的系列后添加此:
var checkboxes = $(".dijitCheckBoxInput").each((index, elem) => {
if (index > 4) {
elem.click();
}
});
其中一期工程,但似乎很脆弱。如果他们改变分配给复选框的类,它将会中断。此外,它禁止我使用多个dojo复选框,因为我没有一个很好的方法来区分差异。 (请注意,由SelectableLegend
添加的复选框的ID是dijit_form_CheckBox_0
,dijit_form_CheckBox_1
等,这也没有给出与它们相关的有用信息)。我认为我可以使用图例占位符div来选择后代复选框,但似乎Dojo完全用表格替换占位符。
我确实在'SelectableLegend'中看到了'_toggle'代码,并认为必须有一种更简单的方法。恕我直言,它似乎完全倒退。传说应该只是告诉系列要隐藏自己,系列应该照顾那部分。另外,我不确定使用Dojo'query',但是我通过检查DOM知道SelectableLegend完全用表替换了现有的占位符元素,使得再次难以找到该事物(我想你可以将占位符包装在另一个中只是为了这个目的,但这似乎有点愚蠢)。 –
嗨马特,请注意,dojox中的所有内容都是实验性的,并且没有将其变为dojo或dijit。 : -/ 来源: https://dojotoolkit.org/reference-guide/1.8/dojox/index.html –
那么在你的链接中'dojox/charting'库被列为'mature'。我认为dojo图表非常有吸引力,但是我发现dojo总的来说比使用jQuery更令人沮丧。异步加载模块的要求使得开始变得笨拙。 –