#javascript
#javascript
Вопрос:
Пожалуйста, обратитесь к ссылке на мою диаграмму .
http://www.humblesoftware.com/finance/index (Настроил это)
В основном требование заключается в том, что в определенный момент времени может быть сделан выбор только за один месяц .(Из дочерней диаграммы)
Если выбор сделан с левой стороны, я просто добавляю 30 к другому значению
xmin = Math.floor(area.x1);
xmax = xmin 30;
Но если выбор сделан с правой стороны, то как с этим справиться??
(Означает, что если xmax
выбрано первым, то как я могу обработать xmin
значение)??
Комментарии:
1. сделайте наоборот … установите
xmax
в выбранное значение иxmin
в это значение минус 30 дней2. Спасибо, Чад, ты имеешь в виду xmax = Math.ceil(area.x2); и xmin = xmax-30?? Но как я могу с этим справиться?? пожалуйста, любой пример кода
3. @Chad: То есть, в зависимости от того, где
area.x1
нажата кнопка, это потенциально может иметь обратную или форвардную дату? Для конечного пользователя это кажется решением для путаницы.
Ответ №1:
Не зная слишком много о ситуации, что-то вроде этого должно сделать:
// set the xmin to where they click
xmin = Math.floor(area.x1);
// make x-max the 30 as you normally do
xmax = xmin 30;
// now add a check to make sure we're not off the chart
// if we are, make the chart's last possible X value the
// x max, and subtract 30 from that to go backwards (and
// it may be a good idea to check if xmin is under the
// chart's min x value.
if (xmax > chart.xmax){
xmax = chart.xmax;
xmin = xmax - 30;
if (xmin < chart.xmin){
xmin = chart.xmin;
}
}
Комментарии:
1. Брэд, таким образом я получаю значения xmin и xmax xmin=Math.floor(area.x1); xmax = Math.ceil(area.x2); не могли бы вы, пожалуйста, рассказать, как работает ваш код??
2. @Kiran: Итак, сверяйте друг с другом, чтобы найти большее число (для верхнего диапазона) и меньшее число (для нижнего диапазона)?
xmin = area.x1; xmax = area.x2; if (xmin > xmax){ xmin = xmin xmax; xmax = xmin - xmax; xmin = xmin - xmax; } xmin = Math.floor(xmin); xmax = Math.ceil(xmax);
возможно?