Вот мои .50 центов.Примите во внимание 2 вещи: это просто мое простое мнение, и это может быть не лучшим ответом в мире.
a) Если у вас уже есть возврат в выражении IF, нет необходимости в ELSE IF
jQuery ->
price = $(".total-price span.price")
save = $(".savings")
select = $("#payment_talks_purchased")
select.change ->
selection = select.val()
if selection == '2'
price.html "$12"
// Since you return here, you dont need any other "else if"
return save.css "visibility", "visible"
price.html "$5"
return save.css "visibility", "hidden"
И нет, ИМХО, ставит ELSE IF, не улучшая читабельность.Возврат - это возврат.Период.Это просто.
jQuery ->
price = $(".total-price span.price")
save = $(".savings")
select = $("#payment_talks_purchased")
select.change ->
selection = select.val()
// "ternary" coffee version (if then else)
price.html if selection == '2' then "$12" else "$5")
save.css "visibility" (if selection == '2' then "visible" else "hidden")
Но лучше всего избавиться от IF, ELSE, SWITCH и всех этих крэпсов.Подумайте, ООП, и ваш код может начать улучшаться.Отправной точкой может быть:
options = [
{price: '$12', visible:"visible"},
{price: '$5', visible:"hidden"}
];
jQuery ->
price = $(".total-price span.price")
save = $(".savings")
select = $("#payment_talks_purchased")
select.change ->
// If the val of your select was 0 and 1, you wouldnt need the (-1) part
selection = parseInt(select.val) -1
price.html options[selection].price
save.css "visibility" options[selection].visible
Итак, вот и все.Почти тот же код, но с лучшей реализацией (imho).Спасибо.