jQuery在每个字母中淡出

时间:2013-03-08 17:46:50

标签: jquery fadein fade fadeout

我的褪色问题很小。基本上当我淡出第一个字母时,第二个字母移动到左边,取第一个字母。有办法阻止这个吗?如果是这样的话?

$('.m').fadeIn( 4000, function() {
    $('.i').fadeIn( 3000, function() {
        $(this).fadeOut( 2000, function() {
            $('.full' ).fadeOut( 3000 );
        } );    
    } );
    $(this).fadeOut( 3000 );    
} );

jFiddle:http://jsfiddle.net/MRvfC/

1 个答案:

答案 0 :(得分:2)

您应该使用display,而不是使用visibility属性。不幸的是,jQuery在show / hide中使用display,所以你必须手动完成。

$('.m').css( {'opacity':0,'visibility':'visible'} ).animate( {'opacity':1}, 4000, function() {
    $('.i').css( {'opacity':0,'visibility':'visible'} ).animate( {'opacity':1}, 3000, function() {
        $(this).animate( {'opacity':0}, 2000, function() {
            $('.full' ).animate( {'opacity':0}, 3000 );
        } );    
    } );
    $(this).animate( {'opacity':0}, 3000 ); 
});

并在CSS中将display:none更改为visibility:hidden。通过将可见性设置为隐藏在最后,也值得节省一些处理能力,尽管优秀的浏览器知道不会渲染具有0不透明度的东西。