帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» Canvas字体动画特效
Canvas字体动画特效
浏览:677次
-
评论:0次
-
发布时间:2017-06-11
Html
Css
Js
对不起,您的浏览器不支持HTML5,请升级浏览器至IE9、firefox或者谷歌浏览器!
素
材
牛
!
* { margin:0px; padding:0px; } body { background-color:lightblue; color:gray; font-size:50px; margin:30px 30px; } #myCanvas { background-color:white; border:solid 5px LightSalmon; } ul { float:left; list-style:none; margin:0px 30px 0px 0px; cursor:pointer; line-height:120px; }
window.onload = function() { var canvas = document.getElementById("myCanvas"); var cxt = canvas.getContext("2d"); var lival = document.getElementsByTagName('li'); for (var i = 0; i < lival.length; i++) { lival[i].onclick = function() { var thisval = this.innerHTML; var h = 180; var timer = null; clearInterval(timer); var iNow = 0; cxt.clearRect(0, 0, canvas.width, canvas.height); cxt.font = h + 'px impact'; cxt.fillStyle = 'red'; cxt.textBaseline = 'top'; var w = cxt.measureText(thisval).width; cxt.fillText(thisval, (canvas.width - w) / 2, (canvas.height - h) / 2); var imgval = cxt.getImageData((canvas.width - w) / 2, (canvas.height - 110) / 2, w, h); cxt.clearRect(0, 0, canvas.width, canvas.height); var arr = randomArr(w * h, w * h / 10); var newimg = cxt.createImageData(w, h); timer = setInterval(function() { for (var i = 0; i < arr[iNow].length; i++) { newimg.data[4 * arr[iNow][i]] = imgval.data[4 * arr[iNow][i]]; newimg.data[4 * arr[iNow][i] + 1] = imgval.data[4 * arr[iNow][i] + 1]; newimg.data[4 * arr[iNow][i] + 2] = imgval.data[4 * arr[iNow][i] + 2]; newimg.data[4 * arr[iNow][i] + 3] = imgval.data[4 * arr[iNow][i] + 3]; } cxt.putImageData(newimg, (canvas.width - w) / 2, (canvas.height - h) / 2); if (iNow == 9) { iNow = 0; clearInterval(timer); } else { iNow++; } }, 200); } }; function randomArr(iAll, iNow) { var arr = [] var allarr = []; for (var i = 0; i < iAll; i++) { arr.push(i); } for (var j = 0; j < iAll / iNow; j++) { var newarr = []; for (var i = 0; i < iNow; i++) { newarr.push(arr.splice(Math.floor(Math.random() * arr.length), 1)); } allarr.push(newarr); } return allarr; } }
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>Canvas字体动画特效-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:Canvas点击字体炫酷动画特效
jQuery轮播图
获取复选框的值
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
677
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值