- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如我有一个这样的图表:
$(function () {
$('#KeywordTrend').highcharts({
chart:{
width:500
},
title: {
text: false
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
name:'kit',
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
我创建了三个按钮,以允许用户将所需数据添加到图表中,如下所示
var name = ['john','mary','july'];
var executed = false;
var executed2 = false;
var executed3 = false;
$(".test0").click(function(){
console.log(executed);
if (!executed) {
var chart = $('#KeywordTrend').highcharts();
var data = [194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4];
chart.addSeries({
name: name[0],
data: data
});
}
executed = true;
console.log(executed);
});
$(".test1").click(function(){
console.log(executed2);
if (!executed2) {
var chart2 = $('#KeywordTrend').highcharts();
chart2.addSeries({
name:name[1],
data: [194.1, 35.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4]
})
executed2 = true;
console.log(executed2);
}
});
$(".test2").click(function(){
console.log(executed3);
if (!executed3) {
var chart3 = $('#KeywordTrend').highcharts();
chart3.addSeries({
name:name[2],
data: [194.1, 85.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4]
})
executed3 = true;
console.log(executed3);
}
});
上面的 click()
是重复的,在维护方面不好,所以我想问一下是否有办法把这些 click()
在 for 循环中。
var executed
只是一个检查器,只允许用户执行一次函数。
最佳答案
请看下面的方法。在这里,我删除了 boolean
标志 executed、executed2 和 executed3
的使用,因为这些在通用逻辑中使用起来有点棘手。取而代之的是,我使用 $.data()
技术来存储有关该特定按钮之前是否被单击过的信息。希望这对您有所帮助:
var name = ['john', 'mary', 'july'];
var data_array = [];
data_array[0] = [194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4];
data_array[1] = [194.1, 35.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4];
data_array[2] = [194.1, 85.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4];
$(function() {
$('#KeywordTrend').highcharts({
chart: {
width: 500
},
title: {
text: false
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
name: 'kit',
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
$("[class^='test'").click(function() {
var current_id = $(this).attr("class");
var number = current_id.replace("test", "");
var isExecuted = $(this).data("executed");
console.log(isExecuted);
if (!isExecuted) {
var chart = $('#KeywordTrend').highcharts();
var data = data_array[number]
chart.addSeries({
name: name[number],
data: data
});
}
$(this).data("executed", true);
console.log($(this).data("executed"));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<div id="KeywordTrend"></div>
<button class="test0">button 1</button>
<button class="test1">button 2</button>
<button class="test2">button 3</button>
关于javascript - Highcharts : generate onclick() by for loop to addSeries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37517611/
好的, 我知道以前有人问过这个问题,但我仍然无法弄清楚。该图确实呈现,但在第二个事件中它不会更新。 我在highcharts中使用chart.addSeries。图表更新,但没有绘制新数据。使困惑。
我正在创建一个动态创建的图表,如果没有,则添加一个系列,如果有,则添加一个点。我收到未捕获的类型错误:无法调用未定义的方法“addSeries”。我环顾四周,找不到为什么它说该方法未定义。 $(d
例如我有一个这样的图表: $(function () { $('#KeywordTrend').highcharts({ chart:{ width:500 },
我正在使用 javascript (addSeries) 添加一个系列,当我使用较大的值执行此操作时,yaxis 不会重新缩放。 http://jsfiddle.net/7YhYT/11/ 要重现我们
本文整理了Java中org.jfree.data.xy.XYIntervalSeriesCollection.addSeries()方法的一些代码示例,展示了XYIntervalSeriesColle
本文整理了Java中org.jfree.data.xy.YIntervalSeriesCollection.addSeries()方法的一些代码示例,展示了YIntervalSeriesCollect
尝试将系列添加到 Highcharts 饼图时,仅显示系列的名称,而不显示图形本身。 如果我手动输入系列,图表会正确显示,但当它通过 .each 循环完成时,它只显示添加的系列名称。 这是我的代码:
这个问题已经有答案了: How to convert array of floats to array of doubles in Java? (3 个回答) 已关闭10 年前。 dataset.ad
本文整理了Java中org.matsim.core.utils.charts.XYLineChart.addSeries()方法的一些代码示例,展示了XYLineChart.addSeries()的具
我正在使用 afterSetExtremes 事件来检索最小和最大 x 和 y 坐标。然后,我在范围选择时添加该系列。问题是该系列在加载时不显示。最简单的解决方案是模拟范围选择在图表加载时。这可能吗?
我是一名优秀的程序员,十分优秀!