анимация цвета jQuery бросает значение Недопустимого свойства периодически

Имейте в виду, что это не прямая и обязательная зависимость, а спецификация, которая определяет, какие версии предпочтительнее, и хорошо работает для этой версии Spring Boot . Если вы не используете RxJava2 (или проект Spring, который явно использует), вы не будете извлекать зависимость. Если вы сделаете это и не укажете версию, вы получите ее по этой ссылке.

Теперь, почему вы спрашиваете RxJava2 И Reactor? Стек Spring Framework WebFlux построен поверх Reactor, но Spring всегда выбирал . Поскольку RxJava2 и Reactor реализуют спецификацию Reactive Streams , они совместимы. Поэтому, если вы предпочитаете, чтобы пользовательский код работал с типами RxJava2 (или даже с типами RxJava 1), Spring выполнит преобразование за вас.

Сантехнические работы по-прежнему выполняются с использованием Reactor , и, таким образом, это предпочтительная реализация для вас, но это ваше дело.

10
задан Carter 11 February 2009 в 18:04
поделиться

6 ответов

Я думаю, что столкнулся с той же проблемой как Вы на другом проекте; у меня был DIV в другом DIV (который не имел, это - фон, явно определенный.) Я пытался "высветить" цвет фона внутреннего DIV и сталкивался с той ошибкой. Только после того, как я присвоил определенный цвет контейнерному DIV, сделал ошибку, уходят.

7
ответ дан 3 December 2019 в 18:36
поделиться

У меня была такая же проблема в IE8 с анимацией цвета фона на некоторых элементах td. Он сохранился, хотя я дал фоновый цвет tr.

Думаю, теперь я исправил это, изменив код в jquery.ui.

Найдите этот раздел:

// We override the animation for all of these color styles
$.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i, attr) {
    $.fx.step[attr] = function(fx) {
        if (fx.state == 0) {

Изменение:

if (fx.state == 0)

Кому:

if (fx.state == 0 || fx.start.constructor != Array || fx.end.constructor != Array)

Иногда при выполнении этого кода. fx.State не равен 0, но fx.start и fx.end не были инициализированы как массивы RGB. В обновленном коде мы инициализируем массивы fx.start и fx.end, если они не были инициализированы.

Кажется, это решило проблему, но трудно быть уверенным в периодически возникающей проблеме.

Подробнее здесь: http://dev.jqueryui.com/ticket/4251

7
ответ дан 3 December 2019 в 18:36
поделиться

Для тех, у кого есть эта проблема с плагином цвета jQuery , достаточно хорошим приемом будет изменить

if ( fx.state == 0 ) {

на что-то низкое, например

if ( fx.state <= 0.045 ) {

Как ни странно, fx.state не всегда 0, поэтому иногда возникает ошибка недопустимого свойства.

2
ответ дан 3 December 2019 в 18:36
поделиться

Исправление на сайте jQuery приведено ниже (должно быть в одном из будущих релизов). В файле effects.core.js изменилось:

if ( fx.state == 0 ) {
    fx.start = getColor( fx.elem, attr );
    fx.end = getRGB( fx.end );
}

-

if (!fx.colorInit) {
    fx.start = getColor(fx.elem, attr);
    fx.end = getRGB(fx.end);
    fx.colorInit = true;
}

Это полностью устранило проблему для меня.

2
ответ дан 3 December 2019 в 18:36
поделиться

Похоже, это не работает, если вы пытаетесь анимировать некоторые элементы в определенных браузерах (работает в Firefox, но не в Google Chrome). Например, это не будет работать с HTML Canvas. fx.start будет неопределен.

Мой "хак", чтобы заставить его работать с элементами HTML Canvas, например -

if (fx.start == undefined) { fx.start = getRGB('white'); }
0
ответ дан 3 December 2019 в 18:36
поделиться

Я переписал функцию color setter, чтобы предотвратить распространение NaNs в значение RGB, это решило проблему.

var r = Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0);
var g = Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0);
var b = Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0);
if (!isNaN(r) && !isNaN(g) && !isNaN(b))
{
    var rgb = "rgb(" + [r,g,b].join(",") + ")";
    fx.elem.style[attr] = rgb;
}
1
ответ дан 3 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: