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


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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文字一次渐变出现</title>
    <script src="node_modules/jquery/dist/jquery.min.js"></script>
    <style>
        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;
            }
        }
    </style>
</head>
<body>
<div></div>

</body>
<script>
    var str='我们这一路被带去;抑或为了生?抑或为了死?不,没有死,只有生;我见过生与死:我们无须怀疑,我们有充分的证据;它们迥然不同,令人恐惧;如同死亡,新的诞生也带给我们痛苦;我们回到自己的地方,回到灵魂的国土;遵循过去的天道,让我们不再安逸和幸福;外邦人紧握他们的神,祈求永生;而我乐于再死一次———义无反顾'
    //分割为数组
    var arr=str.split('')
    $.each(arr,function (index,el) {
        //依次将每个字放到div里
        $('div').append('<span id="text'+index+'" class="hidden">'+el+'</span>')
        //给每个字添加样式,时机为 index*150 ms
        setTimeout(function () {
            $('#text'+index).addClass('display')
        },index*150)
    })
</script>
</html>

这里主要分两步

第一步

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

第二步

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 你可能经常会看到类似酷炫的网站: 在这类网站中能看到,一打开页面,无论是文字还是图片,都随着规定时间的而变化。原理...
    缘叔叔阅读 22,420评论 6 25
  • Android框架提供了两种类型的动画:View Animation(也称视图动画)和Property Anima...
    RxCode阅读 1,683评论 1 5
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,328评论 0 11
  • https://github.com/Zane6w/CoordinateTransformation
    冰霜海胆阅读 243评论 0 0
  • Spring架构中,他是使用在@Controller层中的@RequestMapping注解方法中的,该注解方法有...
    尼尔君阅读 338评论 0 0