html文字依次显示,利用定时器和css3动画制作文字依次渐变显示的效果

d93d9bd98bee

如上图,这种效果看着是不是挺“柔”的

附代码

文字一次渐变出现

body{

background-color: #333333;

padding: 20px;

-webkit-box-sizing: border-box;

-moz-box-sizing: border-box;

box-sizing: border-box;

}

div,span{

color: #ffffff;

font-size: 30px;

}

.hidden{

display: none;

animation: all 1s 1;

}

.display{

display: inline-block;

animation: text 3s 1;

}

@keyframes text {

0%{

color: transparent;

}

100%{

color: #fff;

}

}

var str='我们这一路被带去;抑或为了生?抑或为了死?不,没有死,只有生;我见过生与死:我们无须怀疑,我们有充分的证据;它们迥然不同,令人恐惧;如同死亡,新的诞生也带给我们痛苦;我们回到自己的地方,回到灵魂的国土;遵循过去的天道,让我们不再安逸和幸福;外邦人紧握他们的神,祈求永生;而我乐于再死一次———义无反顾'

//分割为数组

var arr=str.split('')

$.each(arr,function (index,el) {

//依次将每个字放到div里

$('div').append('')

//给每个字添加样式,时机为 index*150 ms

setTimeout(function () {

$('#text'+index).addClass('display')

},index*150)

})

这里主要分两步

第一步

利用setTimeout的延时效果依次将文字显示出来,每个文字显示的时机都是 index*150 ms,其实这时主要效果已经出来了,类似那种打字的效果

第二步

利用animation与keyframe实现每个字的渐变效果,颜色从透明过渡到#fff,这样每个字连起来,就实现了如上图的效果

demo体验地址

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值