gpt4 book ai didi

javascript - 漏洞?范围选择器按钮无法正常工作

转载 作者:行者123 更新时间:2023-11-28 08:35:57 27 4
gpt4 key购买 nike

我想我在最新版本的 Highstock 中发现了一个错误:

定义了以下 RangeSelector:

 rangeSelector: {
buttons: [{ type: 'day', count: 1, text: '1d' },
{ type: 'day', count: 7, text: '7d' },
{ type: 'month', count: 1, text: '1m' },
{ type: 'month', count: 3, text: '3m' },
{ type: 'year', count: 1, text: '1y' },
{ type: 'all', text: 'All' }],
selected: 6, // all
inputEnabled: false
}

现在我正在显示 1 年的数据。这意味着当我按“1y”和“all”时,会显示完全相同的 View 。当我按下“全部”时,两个按钮都处于事件状态:

enter image description here

到目前为止一切顺利。现在我再次选择不同的范围(假设为“1d”)。数据得到正确显示。然而现在出现了错误:范围选择器仍然选择了“1y”,这会导致:

enter image description here

这是一个无效状态,我认为这是一个错误。我可以使用某种解决方法吗?

我使用的是 Highstock v1.3.9

编辑: fiddle 重现此错误: http://jsfiddle.net/xdRk8/5/

重现步骤:

  1. 运行 fiddle
  2. 点击范围选择器中的“全部”
  3. 点击范围选择器中的“1d”

最佳答案

我设法通过使用解决方法解决了这个问题。我检查要显示的数据的时间增量是否正好是一年。如果不是,我会在创建 highstock 图表之前将“全部”按钮动态添加到选项中:

// Workaround to fix a bug in Highstock 1.3.9 where
// the "1y" button was active all the time when exactly
// 1 year of data is displayed
var past = new Date(plotEnd.getTime());
past.setYear(past.getFullYear() - 1);
if (past.getTime() == plotStart.getTime()) {
var oneYear = true;
}

var chartOptions = {
// ...
}

if (!oneYear) {
chartOptions.rangeSelector.buttons.push({ type: 'all', text: 'All' });
}

关于javascript - 漏洞?范围选择器按钮无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21182653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com