Проблемы с получением непрозрачности для анимации до определенного значения - PullRequest
0 голосов
/ 15 сентября 2011

Я пытаюсь использовать плагин Humanized Messages jQuery, и у меня возникли некоторые проблемы с ним. Сообщение не исчезнет совсем, даже если я переместлю мышь / последний тайм-аут сработает. Я думал, что это как-то связано со стилем кодирования / последней версией jQuery. Я переписал плагин в соответствии со своим собственным стилем кодирования и проверил документацию jQuery - все в порядке.

Проблема, как я выяснил, заключается в том, что этот код (где humanMsg.msgOpacity равен 0.8) анимирует непрозрачность до «0,800000011920929» вместо простого «0,8»:

jQuery('#'+humanMsg.msgID).show().animate({ opacity: humanMsg.msgOpacity}, 200, function(){
    jQuery('#'+humanMsg.logID).show().children('ul').prepend('<li>'+msg+'</li>').children('li:first').slideDown(200);

    if (jQuery('#'+humanMsg.logID+' ul').css('display') == 'none')
    {
        jQuery('#'+humanMsg.logID+' p').animate({ bottom: 40 }, 200, 'linear', function(){
            jQuery(this).animate({ bottom: 0 }, 300, 'easeOutBounce', function() { jQuery(this).css({ bottom: 0 }) });
        });
    }
});

Почему это происходит и как я могу предотвратить это? Я использую Chrome 13.0.782.220.

1 Ответ

0 голосов
/ 16 сентября 2011

Я решил обмануть с этим:

if (jQuery('#'+humanMsg.msgID).css('opacity') >= (humanMsg.msgOpacity - 0.05))
{
    jQuery('#'+humanMsg.msgID).animate({ opacity: 0 }, 500, function() { jQuery(this).hide() });
}
...