Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body { margin:0; background:black; color:white; font-size:100px; font-family: Arial, Helvetica, sans-serif; } canvas { position:absolute; left:0; top:0; margin:0; }
JavaScript
function foreach(array, callback) { for(let ind=0; ind
1 ? sin : 1; this.counter++; this.draw(); } draw() { this.context.beginPath(); this.context.fillStyle = this.color; this.context.arc(this.position.x,this.position.y,this.size,0,Math.PI*2); this.context.fill(); this.context.closePath(); } } class Letter { constructor(canvas, text) { this.canvas = canvas; this.context = this.canvas.getContext('2d'); this.size = '200px'; this.color = 'rgb(0,255,0)'; this.text = text; this.mouse = {x:0,y:0}; this.position = []; } update() { } getPixel() { this.position = []; this.context.clearRect(0,0,this.canvas.width,this.canvas.height); this.draw(); let datas = this.context.getImageData(0, 0, this.canvas.width, this.canvas.height); let x = 0; let y = 0; for (let i=0;i
= this.canvas.width) { x = 0; y++; } this.context.putImageData(datas,0,i); } return this.position; } draw() { this.context.beginPath(); this.context.fillStyle = this.color; this.context.font = this.size + ' Gerstner, Arial, sans-serif'; this.context.fillText(this.text, (this.canvas.width / 2), (this.canvas.height / 2)); this.context.textAlign = "center"; this.context.textBaseline = "middle"; this.context.fill(); this.context.closePath(); } } class Scene { constructor(opt) { this.canvas = document.querySelector(opt.canvas); this.context = this.canvas.getContext('2d'); this.number = 25; this.counter = 0; this.mouse = { position:{x:0,y:0}, plan: {x:0,y:0} }; this.render = this.render.bind(this); this._mouseMove = this._mouseMove.bind(this); this._resize = this._resize.bind(this); window.addEventListener('mousemove',this._mouseMove); window.addEventListener('resize',this._resize); this.init(opt); this.currentLetter = this.letters[0]; this.interval = setInterval( () => { this.counter++; if(this.counter >= this.letters.length) this.counter = 0; this.currentLetter = this.letters[this.counter]; },1000); this.render(); } init(opt) { this.canvas.width = opt.width; this.canvas.height = opt.height; this.dots = []; this.letters = []; let size = { width:this.canvas.width/this.number, height:this.canvas.height/this.number }; for(let x=1; x
{ dot.mouse = this.mouse; dot.update(); let divideBy = Math.floor(this.currentLetter.position.length / (this.dots.length - 1)); let position = this.currentLetter.position[ind * divideBy]; if(!position) return false; dot.reachPosition = { x: position.x, y: position.y }; }); requestAnimationFrame(this.render); } _mouseMove(e) { let width = (this.canvas.width / 2); let height = (this.canvas.height / 2); this.mouse.position = { x: e.clientX, y: e.clientY } this.mouse.plan.x = -((width - e.clientX) / width); this.mouse.plan.y = (height - e.clientY) / height; } _resize(e) { let opt = {width:window.innerWidth,height:window.innerHeight}; this.init(opt); } } new Scene({ canvas:'#stage', width:window.innerWidth, height:window.innerHeight })
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>粒子字母-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号