Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Welcome to
WWDCXX
Milan, IT
JUNE 5-9
C O N C E P T
css
@import url("https://fonts.googleapis.com/css?family=Montserrat:200,300,400,600"); .more-pens { position: fixed; left: 20px; bottom: 20px; z-index: 10; font-family: "Montserrat"; font-size: 12px; } a.white-mode, a.white-mode:link, a.white-mode:visited, a.white-mode:active { font-family: "Montserrat"; font-size: 12px; text-decoration: none; background: #212121; padding: 4px 8px; color: #f7f7f7; } a.white-mode:hover, a.white-mode:link:hover, a.white-mode:visited:hover, a.white-mode:active:hover { background: #edf3f8; color: #212121; } body { margin: 0; padding: 0; overflow: hidden; width: 100%; height: 100%; background: #FFFFFF; } .title { z-index: 10; position: absolute; left: 50%; top: 55%; transform: translateX(-50%) translateY(-50%); font-family: "Montserrat"; text-align: center; width: 100%; } .title h1 { position: relative; color: #121212; font-weight: 600; font-size: 70px; padding: 0; margin: 0; line-height: 1; } .title h1 span { font-weight: 600; padding: 0; margin: 0; color: #121212; } .title h3 { font-weight: 200; font-size: 30px; padding: 0; margin: 0; line-height: 1; color: #121212; letter-spacing: 2px; } .title h4 { font-weight: 400; font-size: 16px; padding: 0; margin: 4px 0 0 0; line-height: 1; color: #CC3341; letter-spacing: 2px; }
JavaScript
function drawCircleGrey(ctx, radius, position) { var grey = Math.round(100 + Math.random() * 155); var rgbaFill = "rgba(" + grey + ", " + grey + ", " + grey + ", 1)"; var rgbaStroke = "rgba(" + grey + ", " + grey + ", " + grey + ", 1)"; ctx.beginPath(); ctx.arc(position.x, position.y, radius, 0, 2 * Math.PI, false); ctx.fillStyle = rgbaFill; ctx.strokeStyle = rgbaStroke; if (radius < 3) { ctx.fillStyle = "#CC3341"; ctx.strokeStyle = "#CC3341"; } if (radius < 2) { ctx.fillStyle = "#B5E3E3"; ctx.strokeStyle = "#B5E3E3"; } ctx.fill(); ctx.lineWidth = 1; ctx.stroke(); } function hexToRGB(hex, alpha) { var r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16); if (alpha) { return "rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")"; } else { return "rgb(" + r + ", " + g + ", " + b + ")"; } } function randomIntFromInterval(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } function pointIsInPolygon(p, polygon) { var isInside = false; var minX = polygon[0].x, maxX = polygon[0].x; var minY = polygon[0].y, maxY = polygon[0].y; for (var n = 1; n < polygon.length; n++) { var q = polygon[n]; minX = Math.min(q.x, minX); maxX = Math.max(q.x, maxX); minY = Math.min(q.y, minY); maxY = Math.max(q.y, maxY); } if (p.x < minX || p.x > maxX || p.y < minY || p.y > maxY) { return false; } var i = 0, j = polygon.length - 1; for (i, j; i < polygon.length; j = i++) { if (polygon[i].y > p.y != polygon[j].y > p.y && p.x < (polygon[j].x - polygon[i].x) * (p.y - polygon[i].y) / (polygon[j].y - polygon[i].y) + polygon[i].x) { isInside = !isInside; } } return isInside; } function getBoundingBoxPolygon(points) { var minX = null; var maxX = null; var minY = null; var maxY = null; for (var i = 0; i < points.length; i++) { var x = points[i].x; var y = points[i].y; if (minX == null) { minX = x;maxX = x;minY = y;maxY = y; } minX = Math.min(minX, x); maxX = Math.max(maxX, x); minY = Math.min(minY, y); maxY = Math.max(maxY, y); } var width = maxX - minX; var height = maxY - minY; return { x: minX, y: minY, width: width, height: height }; } function addParticle() { // Externa points var vector = { x: Math.random() * WIDTH, y: Math.random() * HEIGHT }; var vector_check = { x: vector.x - offsetX, y: vector.y - offsetY }; if (!pointIsInPolygon(vector_check, apple) && !pointIsInPolygon(vector_check, leaf)) { drawCircleGrey(canvas, Math.random() * 5, { x: vector.x, y: vector.y }); } } // var WIDTH = $(window).width(); var HEIGHT = $(window).height(); var leaf = [{ x: 179.9, y: 34.8 }, { x: 242.7, y: 0 }, { x: 222.1, y: 63.9 }, { x: 162.5, y: 92 }]; var apple = [{ x: 165.8, y: 114.8 }, { x: 194.3, y: 105.5 }, { x: 237.1, y: 96.2 }, { x: 297.4, y: 116.2 }, { x: 315.5, y: 136.2 }, { x: 293.8, y: 154 }, { x: 272.2, y: 212 }, { x: 299.1, y: 275.4 }, { x: 326.1, y: 293.4 }, { x: 300.9, y: 346.4 }, { x: 237.5, y: 399.4 }, { x: 204.9, y: 391.5 }, { x: 171.4, y: 383.7 }, { x: 134.9, y: 391.8 }, { x: 105.2, y: 400 }, { x: 35.2, y: 339.6 }, { x: 0, y: 218.6 }, { x: 30.7, y: 128.1 }, { x: 96.3, y: 97.3 }, { x: 136.5, y: 106 }]; var tela = document.createElement('canvas'); tela.width = $(window).width(); tela.height = $(window).height(); $("body").append(tela); var canvas = tela.getContext('2d'); var leafBB = getBoundingBoxPolygon(leaf); var appleBB = getBoundingBoxPolygon(apple); var offsetX = WIDTH / 2 - appleBB.width / 2; var offsetY = HEIGHT / 2 - (appleBB.height + leafBB.height) / 2; setInterval(function () { for (var i = 0; i < 1; i++) { addParticle(); } }, 1);
粒子
时间
文字
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号