Цветовая анимация JQuery не срабатывает надежно - PullRequest
5 голосов
/ 10 сентября 2009

У меня проблема с использованием событий jquery hover. Я создал сокращение проблемы. Вы можете найти рабочую демонстрацию здесь . Я могу воспроизвести это после перемещения мыши в IE, FF, Opera и Chrome.

Я использую анимацию в очереди в моем событии наведения мыши. Примерно в 1% случаев цвет элементов td остается равным #0f0 после того, как мышь покинула td. Этого не должно быть. Событие mouseout должно гарантировать, что со временем все tds вернутся к #00f по прошествии времени.

Обновление 2:

Я сейчас уменьшил это, вероятно, до того, как это пойдет. События мыши не используются вообще. В Opera он начал работать лучше, но теперь IE - это тотальный кластер.

В любом случае, я использую кнопку, чтобы вызвать это:

function ani() {
    $('td')
        .stop()
        .animate({backgroundColor: '#0f0'}, 3000)
        .animate({backgroundColor: '#00f'}, 3000);
}

Смотри здесь .

Обновление [n + 1]:

Я просто не могу оставить это в покое. Я определил, что анимация на самом деле происходит. Это просто не автоматизирует цвет фона. Я сделал это путем добавления текста и анимации фона и переднего плана в унисон. В нормальных условиях вы никогда не увидите текст, когда он начинает анимироваться, но иногда фон «забывается», а иногда и передний план. Это указывает на то, что анимация JQuery действительно происходит, но она просто не анимирует все атрибуты, для которых она была указана. Для любопытных посмотрите его в действии здесь . (предупреждение: IE довольно сильно задыхается от этого)

Хорошо, теперь поиграю в некоторые видеоигры.

1 Ответ

2 голосов
/ 10 сентября 2009

Я не понимаю, как вы получаете свой 1% показатель. Я не уверен в том, какое поведение вы видите, но в FF3 и IE8 я получаю эту уродливую ошибку незаконного свойства-значения, как описано здесь: http://dev.jqueryui.com/ticket/4251. Более того, многие из них не являются изменение цвета, даже если оно было изменено на однотонную анимацию.

Исправление этой строки в jquery.color.js и в FF3, и в IE8 работает как чудо, хотя в IE8 белые экраны, в конечном итоге оно восстанавливается.

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

...