jQuery backgroundColor анимация - PullRequest
       7

jQuery backgroundColor анимация

6 голосов
/ 08 января 2009

У меня есть DIV со ссылкой и SPAN.

При нажатии на ссылку он отображает список элементов с помощью AJAX. При щелчке элемента содержимое SPAN изменяется.

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

  var originalColor = elementToUpdate.parentNode.style.backgroundColor;
  elementToUpdate.style.backgroundColor = 'green'; //lastSender.style.color;
  jQuery(elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);

Фон SPAN меняется на зеленый во 2-й строке, но 3-я строка ничего не делает. Никаких ошибок или изменений что бы то ни было ...

Есть идеи?


Редактировать: Как отметил Тед Нейлид в комментарии ниже:

Также обратите внимание, что вы должны иметь плагин цветовой анимации установлен для это на работу (http://plugins.jquery.com/project/color), если у вас не установлено, jQuery не может анимировать цвета, только числовые свойства (по крайней мере, по состоянию на 1.3.1).

1 Ответ

9 голосов
/ 08 января 2009

Вам не нужен .id, если у вас уже есть элемент. Передайте это непосредственно jQuery:

jQuery(elementToUpdate).animate({ backgroundColor: '#ffffff' }, 1000);

Вы не получите ошибку, потому что elementToUpdate.id - это строка, которую jQuery (вероятно) интерпретирует как селектор. Это просто тот селектор, который ничего не выбирает.

Кроме того, вы можете сказать это, чтобы сделать его действительным селектором:

jQuery('#' + elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000);

Но я думаю, что первая форма предпочтительнее, так как у вас уже есть сам элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...