렌더링이 첨부되어 있습니다:
최근 프로젝트를 진행하면서 문자가 하나씩 나타나는 타이핑 효과를 구현해야 했는데요, 이를 구현하기 위해 CSS의 클립 CSS 애니메이션을 제가 작성한 타자기 효과와 결합했습니다. 🎜>
결합하면 효과가 좋습니다.먼저 이 라인이 라인이라는 점을 살펴보겠습니다. 실제로는 정기적으로 표시되고 숨겨진 경계선입니다. 그러면 여기서는 이전 속성을 염두에 두어야 합니다.
일단은 이후를 생각해 보겠습니다.
<div class="box"></div> .box:before{ content: ''; position: absolute; width:px;height: px;border:px red solid; left:-px;top:-px; z-index: ; }
왼쪽) 예를 들어 위쪽 테두리가 표시되면 다음과 같습니다.
애니메이션을 사용하여 순서대로 표시하면 됩니다
@-webkit-keyframes clipMe{ %{ clip: rect(px, px, px, px); } %{ clip: rect(px, px, px, px); } %{ clip: rect(px, px, px, px); } %{ clip: rect(px, px, px, px); } %{ clip: rect(px, px, px, px); } }
.box:after{ -webkit-animation:clipMe s linear infinite; }
테두리가 나타나는데, 여기서 Delay-s로 변경하시면 이 문제는 완벽하게 해결될 것입니다.
.box:before{ -webkit-animation:clipMe s -s linear infinite; }
타자기에 대해 이야기해 보겠습니다. 타자기는 표시된 문자를 끊임없이 교체하여 화면에 표시하는 것입니다. 먼저 상자에 내용을 가져옵니다.
<div class="box"> <span>/**仅共娱乐,然并卵**/</span> <p>Login : Jmingzi</p> <p>password : ******</p> <p>Access is granted</p> <span>Welcome ymblog.net !</span> </div>
var t = setInterval(function(){ str = con.substr(, strlen) + "_"; me.obj.html(str); //内容打印完毕 if(strlen == con.length){ clearInterval(t); } strlen = strlen + ; }, me.speed);
//初始化工作,获取几段文字内容,将它们隐藏后逐个显示即可 $(function(){ function Type(obj, speed, welcome){ this.obj = obj; this.speed = speed; this.welcome = welcome; } Type.prototype = { init : function(){ var str = this.obj.html(); this.obj.html(this.welcome); this.add(str); }, add : function(con){ var me = this; var str; var strlen = ; var t = setInterval(function(){ str = con.substr(, strlen) + "_"; me.obj.html(str); //内容打印完毕 if(strlen == con.length){ clearInterval(t); } strlen = strlen + ; }, me.speed); } } var a = new Type($('.box'), , '正在初始化...'); a.init(); });