我的褪色问题很小。基本上当我淡出第一个字母时,第二个字母移动到左边,取第一个字母。有办法阻止这个吗?如果是这样的话?
$('.m').fadeIn( 4000, function() {
$('.i').fadeIn( 3000, function() {
$(this).fadeOut( 2000, function() {
$('.full' ).fadeOut( 3000 );
} );
} );
$(this).fadeOut( 3000 );
} );
jFiddle:http://jsfiddle.net/MRvfC/
答案 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不透明度的东西。