2016-06-19 2 views
-5

Я купил шаблон для веб-сайта Я пытаюсь помочь моим друзьям с их диете и изменениями в соответствии с моими потребностями.Javascript переменные функции

Я пытаюсь отредактировать функцию javascript, используемую для вычисления базового уровня метаболизма человека.

Часть кода:

function calc_BMR() { 
var a; 
a = "kilo" == $("[name=weight_select]").val() ? parseFloat($("[name=Weight]").val()) : 6.23 * parseFloat($("[name=Weight]").val())/13.7; 
var b = "cm" == $("[name=height_select]").val() ? parseFloat($("[name=Height]").val()) : 12.7 * parseFloat($("[name=Height]").val())/5, c = parseFloat($("[name=Age]").val()); 
if (0 >= b || 0 >= a || 0 >= c) 
    return $("#indicator").text("Please complete the form!"), $("#bmr_value").text(""), -1; 
a = $("input[name=Male]").prop("checked") ? 5 + 10 * a + 6.25 * b - 5 * c : 655 + 9.6 * a + 1.8 * b - 4.7 * c; 
0 >= a ? ($("#bmr_value").text(""), $("#indicator").text("No kidding.Did you input the right value")) : ($("#bmr_value").text(a.toFixed(2)), $("#indicator").text("See your customized data below:")); 
return a 
} 

Я найти его трудно понять отношения в формуле между мужчиной и женщиной, я предположил, что слева от двоеточия для мужского пола, и к право для женщин. Но если я изменю формулу в соответствии с моей формулой, кажется, что то, что я изменяю с правой стороны, влияет на значение с левой стороны, но не наоборот.

Левая часть формулы дает мне правильный результат, если я его отредактирую, но правой стороны нет. Я не уверен, как это работает ...

Я также пытаюсь удалить опцию для метрических или имперских единиц, я предполагаю, что что-то вокруг имени = Вес параметров, что позволяет этот параметр, но я не конечно, как отредактировать его так, чтобы он использовал только одно имя = значение веса. То же самое касается значения высоты.

Я всегда был в состоянии взглянуть на html, css и php и отредактировать его тоже по душе, размышляя о том, как код написан логически, но это меня насторожило.

Извините, что я ленив и не изучаю javascript с нуля, мне просто нужно быстро выполнить работу!

+0

Это тройные операторы. Что-то вроде этого: 'n> 50? Console.log ("> "): console.log (" <");' – Li357

+1

Если вам нужно быстро выполнить задание, это поможет задать конкретный вопрос. Это похоже на смутное бессвязное движение. – melpomene

+0

@melpomene Чтобы получить дополнительную информацию, пожалуйста, задайте вопрос, чтобы он был кратким. – Li357

ответ

0

Поскольку этот код усеян тройственными операторами, похоже, что у вас больше всего проблем.

Основной синтаксис:

condition ? a : b 

такого же, как

if (condition) { 
    a 
} else { 
    b 
} 

Для веса: Если вы хотите использовать kilo, просто удалить всю эту линию и установить a равного parseFloat($("[name=Weight]").val()).

То же касается высоты.

Вы правы, считая, что изменения в отношении мужчин находятся на левой стороне толстой кишки, а справа - женские. Однако вам нужно будет опубликовать именно то, что вы пытаетесь изменить, и ваш желаемый результат, если вы ожидаете дальнейшей помощи.

+1

Отлично! Я смог удалить метрику и скорректировать формулу, получив требуемые результаты. Спасибо огромное! Я думаю, что я знаю, что искать, пытаясь понять операторов и так далее. Большое спасибо. –

Смежные вопросы