Как кодировать разделенные запятыми функции внутри события jQuery, в CoffeeScript - PullRequest
0 голосов
/ 29 марта 2012

Я новичок в coffeescript, и хотя имеется обширная информация о правильном методе кодирования ванильного javascript в coffeescript, мало информации о том, как кодировать jQuery в coffeescript.

Если кто-то может объяснить, какзакодировать функции, разделенные запятыми, внутри этого события наведения jQuery в виде сценария кофе, и мы будем очень благодарны.

$(".sprite-image.btn-rest").hover(
    function () {
        $(this).removeClass('btn-rest').addClass('btn-hover');
    },
    function () {
        $(this).removeClass('btn-hover').addClass('btn-rest');
        $(this).parent().prev().children('.sprite-image.btn-rest_before_activecurrent').removeClass('btn-rest_before_activecurrent').addClass('btn-rest');
        $(this).parent().prev('.sprite-image.nav_spacer_1-activecurrent').removeClass('nav_spacer_1-activecurrent').addClass('nav_spacer_1-rest');
    }
);

В ответ на правильный ответ, опубликованный ниже Ларри Биттом, я публикуюисправление, которое я внес в исходный кофейный текст Ларри до того, как он сделал свое исправление.

$('.sprite-image.btn-rest').hover ->
    $(this).removeClass('btn-rest').addClass 'btn-hover'
, ->
    $(this).removeClass('btn-hover').addClass 'btn-rest'
    $(this).parent().prev().children('.sprite-image.btn-rest_before_activecurrent').removeClass('btn-rest_before_activecurrent').addClass 'btn-rest'
    $(this).parent().prev('.sprite-image.nav_spacer_1-activecurrent').removeClass('nav_spacer_1-activecurrent').addClass 'nav_spacer_1-rest'

Мне любопытно, потому что этот кофейный код дал тот же результат, что и его исправленный ответ.Мой вопрос: один лучше другого?

1 Ответ

3 голосов
/ 29 марта 2012

Я бы просто использовал js2coffee.org, чтобы проверить, как будет выглядеть ваш javascript-код в coffeescript.

js2coffee.org переводит ваш код в следующее.

$(".sprite-image.btn-rest").hover (->
  $(this).removeClass("btn-rest").addClass "btn-hover"
), ->
  $(this).removeClass("btn-hover").addClass "btn-rest"
  $(this).parent().prev().children(".sprite-image.btn-rest_before_activecurrent").removeClass("btn-rest_before_activecurrent").addClass "btn-rest"
  $(this).parent().prev(".sprite-image.nav_spacer_1-activecurrent").removeClass("nav_spacer_1-activecurrent").addClass "nav_spacer_1-rest"

Обновление

js2coffee.org выдало неверный код.Вот правильный перевод.

$(".sprite-image.btn-rest").hover(
    ->
        $(this).removeClass("btn-rest").addClass "btn-hover"
    ,->
        $(this).removeClass("btn-hover").addClass "btn-rest"
        $(this).parent().prev().children(".sprite-image.btn-rest_before_activecurrent").removeClass("btn-rest_before_activecurrent").addClass "btn-rest"
        $(this).parent().prev(".sprite-image.nav_spacer_1-activecurrent").removeClass("nav_spacer_1-activecurrent").addClass "nav_spacer_1-rest"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...