#javascript #jquery #highcharts
#javascript #jquery — jquery — запрос #высокие диаграммы #jquery #highcharts
Вопрос:
Использование форматировщика меток highcharts
http://api.highcharts.com/highcharts#yAxis.labels.formatter
Я использую приведенный ниже код для настройки первой метки и возврата значений для всех остальных. Это то, как я должен использовать return
дважды в форматировщике? Пока это работает, я просто проверяю, что нет лучшего способа написать функцию. Я немного новичок в js и задаюсь вопросом, можно ли каким-то образом объединить возвращаемые данные?
Спасибо
$(function () {
$('#container').highcharts({
chart: {
marginBottom: 80
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
labels: {
//align: 'left',
//x: 0,
//y: -2,
useHTML: true,
formatter:function(){
if(this.isFirst){
return 'test';
}
return this.value;
}
}
},
series: [{
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]
}]
});
});
Комментарии:
1. Что вы подразумеваете под «если возвращаемые данные можно каким-то образом объединить»? Вы имеете в виду однострочный формат? Для удобства чтения и функциональности это выглядит хорошо для меня.
2. @Ondkloss Я просто не знал, что могу использовать return более одного раза, и мне было интересно, так ли это должно быть написано.
3. Хорошо, я понимаю. Когда вы говорите «более одного раза», вы должны понимать, что после того, как произойдет первое
return
, остальная часть кода никогда не выполняется, поскольку функция уже передала свой ответ обратно вызывающему коду. Таким образом, это всегда будет случай либо первогоreturn
, либо второго. Никогда оба. Это отличный способ закодировать это.4. @Ondkloss хорошо, мне казалось, что оба возвращают данные, но на самом деле условный оператор возвращает только первое значение или
this.isFirst
затем выполняется остальной код, возвращающий другие значения.5. Ваш код в полном порядке. Как сказал @Anagio, для первой метки выполняется только первая
return
, для остальных онаif()
отрицательна, поэтому выполняется втораяreturn
.