ZFSYS

给网站整个手电筒效果

216

直接加入下面的js代码即可

  document.querySelector('style').append(`canvas {
        position: fixed;
        left:0;
        top: 0;
        z-index: 9999;
        pointer-events: none;
    }`)
    document.body.appendChild(document.createElement('canvas'))
    const cvs = document.querySelector('canvas')
    const ctx = cvs.getContext('2d')
    cvs.width = document.documentElement.clientWidth
    cvs.height = document.documentElement.clientHeight
    const p = {
        x: 0,
        y: 0,
        r: 50
    }
    document.onmousemove = e => {
        p.x = e.clientX
        p.y = e.clientY
        render()
    }
    const render = () => {
        ctx.beginPath()
        ctx.clearRect(0, 0, cvs.width, cvs.height)
        var radial = ctx.createRadialGradient(p.x,p.y,p.r,p.x,p.y,p.r * 3);
        radial.addColorStop(0,'rgba(255, 255, 255, 0)');
        radial.addColorStop(1,'rgba(0, 0, 0, 0.5)');
        ctx.fillStyle = radial;
        ctx.fillRect(0,0,cvs.width, cvs.height);
    }
    render()
    window.onresize = () => {
        cvs.width = document.documentElement.clientWidth
        cvs.height = document.documentElement.clientHeight
        render()
    }

image.png

  • 没有任何评论
最新帖子
[站长推荐] 一些站长/创业者使用的工具推荐 590
HTML+JS 全选与取消全选功能 544
子枫内容系统更新记录 448
有没有人做百度小程序啊 446
PHP 按照指定数量切割字符串 391
php composer更换国内源 374
a链接一键安装ios应用 369
composer 报错SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 346
layui table 的宽度超出自动隐藏 342
怎么克服拖延症呀 338
最近热帖
[站长推荐] 一些站长/创业者使用的工具推荐 590
HTML+JS 全选与取消全选功能 544
子枫内容系统更新记录 448
有没有人做百度小程序啊 446
PHP 按照指定数量切割字符串 391
php composer更换国内源 374
a链接一键安装ios应用 369
composer 报错SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 346
layui table 的宽度超出自动隐藏 342
怎么克服拖延症呀 338
近期热议
开始使用 160