在写网站的时候,有时候可能需要打字机动画去实现一些页面效果的显示,我在网上找了很久也没有很完整的,符合我要求的代码,索性就结合网上的大神们的代码段自己写了一个
HTML
view plain copy
<div class="container"></div> CSS
view plain copy
.container{
float: left;
display: inline-block;
position: relative;
}
@keyframes blink-caret { 50% { background-color: transparent; } }
span{
animation:blink-caret 1s step-end infinite;
width: 3px;
height: 20px;
background-color: #000;
float: left;
position: absolute;
right: -10px;
} JS
view plain copy
var s = 'Welcome to LoVueAn';
var con = $('.container');
var index = 0;
var length = s.length;
var tId = null;
function start(){
con.text('');
con.append('<span></span>');
tId=setInterval(function(){
con.append(s.charAt(index));
if(index++ === length){
clearInterval(tId);
index = 0;
start()
}
},400);
}
start(); 效果图
这段代码采用了JS中的定时器,支持输入完之后归零再次动画,通过append添加了一个span标签模拟光标,css动画渲染闪烁效果,再通过绝对定位始终依附在父容器的右方以达到模拟输入效果的目的。注意在表头引入jquery!
网上搜索到的一般都是通过原生JS写出,但没有光标效果,纯CSS写出来的又对容器的宽要求很高,光标一直悬于最后方不利于实战开发,我认为这种方法相对较好
<!DOCTYPE html>
<html>
<head>
<title>李振球</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="icon" href="/favicon.ico">
<meta name="keywords" content="李振球">
<meta name="description" content="李振球">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
<style>
*{padding:0px;margin:0px;}
html,body{height:100%;}
body{background:#000 url(86f740e5196bec328ee09cca4dd9c827.jpg);background-repeat: no-repeat;
background-size: cover;background-position: center;}
#main{width:100%;height:100%;background:url(5-120601093339.png);opacity: 0.45;}
#mainc{background: url(5-120601093354.gif);
display: inline-block;
color: #fff;
padding: 12px;
margin: 12px;
border-radius: 12px;}
</style>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<div style="display:none;"><!--缓存图片,背景图片闪白bug,修复刷新的时候背景闪一下才显示背景图片-->
<img src="86f740e5196bec328ee09cca4dd9c827.jpg">
<img src="5-120601093339.png">
<img src="5-120601093354.gif">
</div>
<div id="main">
<div id="mainc">
<p d="我的"></p>
<br />
<p d="生日:1990年2月13号"></p>
<p d="星座:水瓶男"></p>
<p d="大学:广西科技大学"></p>
<br />
<p d="工作:"></p>
<p d="2013:义乌 扬帆科技有限公司 美工"></p>
<p d="2014:绍兴 大海网络科技有限公司 技术"></p>
<p d="2015-至今:南宁 共振广告设计有限公司 技术、运维、网站运营"></p>
<br />
<p d="兴趣:互联网相关 各种先进IT技术 痴迷天文学物理学化学生物学等和科技沾边的"></p>
<p d="微信:iswtf_ 小程序可搜索 李振球"></p>
<p d="博客:blog.lizhenqiu.com"></p>
<p d="email:winwin@lizhenqiu.com"></p>
<p d="桂ICP备15007619号-3 阿里云提供云计算服务支持"></p>
<br />
<p d="2017.07.21"></p>
</div>
</div>
<script>
var sarr=new Array();
var tId;
$(document).ready(function(){
$('#mainc p').each(function(indexs){
var s = $(this).attr('d');
sarr[indexs]=s;
});
start(0);
});
function start(indexs){
var s=sarr[indexs];
if(!s) return false;
var sll=sarr.length;
var sl=s.length;
var con=$('#mainc').find('p:eq('+indexs+')');
var indexss = 0;
tId=setInterval(function(){
//if() return false;
//console.log(indexss);
if(!s || indexs>sll){
return false;
}
con.append(s.charAt(indexss));
indexss++;
if(indexss>sl){
clearInterval(tId);
indexs++;
start(indexs);
}
},100);
}
//console.log(sarr);
/*
var length = s.length;
var tId = null;
var that=$(this);
start(that,s,index,length,tId);
$(selector).index(element)
function start(con,s,indexs,length,tId){
var index = 0;
con.text('');
var tId=setInterval(function(){
con.append(s.charAt(index));
if(index++ === length){
clearInterval(tId);
}
},100);
}
*/
</script>
</body>
</html>
网页有背景的时候闪白
<!--缓存图片,背景图片闪白bug,修复刷新的时候背景闪一下才显示背景图片-->
神奇的前端输入模拟插件 -- typed-js
插件地址: https://github.com/mattboldt/typed.js/
js星期几上下午几点时间
🎉
OnlyFans
http://www.wy799.com/
早乙女露依THZ-35
Ellen Farber
http://www.qihuys487.com/
http://www.jqdaima.com/
http://www.ix44.com/
http://66jb.cc/
IPX-641
https://www.fi11sm135.com/
次元小镇
https://dimtown.com/
搜番
https://sofan.icu/
solji.kim
www.51cbi.com
https://66mat.buzz/