Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body { --bg: #f4f4f4; display: flex; justify-content: center; align-items: center; margin: 0; height: 100vh; background: var(--bg); transition: background 400ms ease; } body.darkmode { --bg: #222; } svg { width: 90vmin; height: 90vmin; } /** light mode */ .darkmode-icon .moon-shadow { transition: cx 400ms ease; } .darkmode-icon .rays { transition: stroke-dashoffset 400ms ease; stroke-dashoffset: 24; stroke-dasharray: 12; } .darkmode-icon .sun { fill: #ff7; } .darkmode-icon .moon-shadow { fill: black; } .darkmode-icon .rays, .darkmode-icon .sun-stroke { stroke: #777; fill: none; } /** dark mode */ .darkmode-checkbox:checked ~ label { cursor: pointer; } .darkmode-checkbox:checked ~ label .darkmode-icon .moon-shadow { cx: 40; } .darkmode-checkbox:checked ~ label .darkmode-icon .rays { stroke-dashoffset: 12; stroke-dasharray: 12; } .darkmode-checkbox { display: none; }
JavaScript
const $ = document.querySelector.bind(document); const $$ = (sel, con) => Array.prototype.slice.call((con || document).querySelectorAll(sel)); const DEG = Math.PI / 180; function rotate({x, y}, a) { const { sin, cos } = Math; return { x: x * cos(a) - y * sin(a), y: x * sin(a) + y * cos(a) }; } function translate({x, y}, tx, ty) { return { x: x + tx, y: y + ty } } $('.darkmode-checkbox').addEventListener('click', () => { document.body.classList.toggle('darkmode'); // old msedge compatibility: const isDarkmode = (document.body.classList.contains('darkmode')); const shadow = $('.moon-shadow'); shadow.setAttribute('cx', isDarkmode ? '40' : '60'); }); // I could not get the transforms in buggy safari to work // Workaround: calculate the transformed coords to absolute ones: const removeTransforms = true; if (removeTransforms) { const rays = $$('.rays path'); rays.map((ray, i) => { const p0 = translate(rotate({x: 0, y: -28}, i * 45 * DEG), 32, 32); const p1 = translate(rotate({x: 0, y: -16}, i * 45 * DEG), 32, 32); ray.removeAttribute('transform-origin'); ray.removeAttribute('transform'); ray.setAttribute('d', `M${p0.x} ${p0.y} L${p1.x} ${p1.y}`); }); }
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>SVG日夜切换-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号