Анимировать селекторы в оригинальном стиле, плохо или хорошо? - PullRequest
0 голосов
/ 25 декабря 2011

Должен ли я использовать $button.eq(number_of_active_slide) или $button в приведенном ниже примере?

Высота всех кнопок составляет 10 пикселей, кроме одной, индекс которой different_value.

В Option A я смогу кэшировать селекторы в переменной, что мне кажется хорошим. Но я буду анимировать все селекторы (большинство из них будет иметь высоту 10 пикселей). Так что это кажется ненужным.

В Option B Я не смогу кэшировать селекторы в переменной (это будет другое значение при каждом нажатии). Но я буду онлайн анимировать один селектор, который также кажется мне богом.

Пример:

// Option A:
$button.click(function () {

    $button.animate({
        height: '10px'
    }, 500);

});

// Option B:
$button.click(function () {

    $button.eq(different_value).animate({
        height: '10px'
    }, 500);

});

1 Ответ

1 голос
/ 25 декабря 2011

Я бы использовал это:

$button.click(function () {

    $(this).animate({
        height: '10px'
    }, 500);

});

Я предполагаю, что вы нажимаете кнопку, которую хотите анимировать.

Если это не так, .eq () - это сверхбыстрая операция. Вы все еще кэшируете набор кнопок, что является дорогостоящим шагом поиска. Использование .eq () для уменьшения набора неплохо. В этом случае я бы использовал вариант B.

...