Javascript 在圆形svg中添加阴影

Javascript 在圆形svg中添加阴影,javascript,html,svg,svg-filters,Javascript,Html,Svg,Svg Filters,鉴于以下代码: 滤芯中的x&y参数实际上是什么 过滤器元素中的x&y参数是否可以通过javascript保持更改?我可以根据var h和var k中变量的变化来定义house()中过滤器元件的变化x和y参数 对代码进行必要的更改以满足需要 多功能厅(e) { var h=e.clientX; var k=e.clientY; var ball=document.getElementById(“圆”); var r=ball.getAttribute(“r”); 设置属性(“cx”,h); b

鉴于以下代码:

  • 滤芯中的x&y参数实际上是什么
  • 过滤器元素中的x&y参数是否可以通过javascript保持更改?我可以根据var h和var k中变量的变化来定义house()中过滤器元件的变化x和y参数
  • 对代码进行必要的更改以满足需要

    
    多功能厅(e)
    {
    var h=e.clientX;
    var k=e.clientY;
    var ball=document.getElementById(“圆”);
    var r=ball.getAttribute(“r”);
    设置属性(“cx”,h);
    ball.setAttribute(“cy”,k);
    }
    
    过滤元素的x和y属性以及宽度和高度描述了“过滤区域”,即相对于过滤元素(或用户空间)的区域,过滤结果在该区域可见。有关更多信息,请参阅的web平台文档:

    是的,您可以将它们与JavaScript不同,尽管这样做有点不寻常。您总是可以通过getElementById(“f1”)获取过滤器元素,并以此方式设置x和y


    从您的示例代码中有点不清楚您试图实现什么

    x和y是过滤器渲染内容的原点。 如果应用过滤器生成形状阴影,在某些情况下,模糊会扩展到形状内容之外,在某些情况下,x和y必须为负数才能完全显示过滤器生成的阴影模糊

    此代码显示了使用janvas()创建的阴影过滤器 如果您用janvas画一个圆圈并发布svg,您将看到此svg代码进入“def”标记,x和y值为-20%

    <filter id="_0_" x="-20%" y="-20%" width="200%" height="200%" type="Shadow" shadowoffsetx="5" shadowoffsety="5" shadowblur="5" shadowcolor="rgba(0,0,0,.5)">
    <feOffset result="offOut" in="SourceGraphic" dx="5" dy="5">
    </feOffset>
    <feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0">
    </feColorMatrix>
    <feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="2">
    </feGaussianBlur>
    <feBlend in="SourceGraphic" in2="blurOut" mode="normal">
    </feBlend>
    </filter>
    
    
    
    @pswg编辑什么?只是格式化。你可以点击我名字上方的链接查看问题,查看编辑的内容。
    <filter id="_0_" x="-20%" y="-20%" width="200%" height="200%" type="Shadow" shadowoffsetx="5" shadowoffsety="5" shadowblur="5" shadowcolor="rgba(0,0,0,.5)">
    <feOffset result="offOut" in="SourceGraphic" dx="5" dy="5">
    </feOffset>
    <feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0">
    </feColorMatrix>
    <feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="2">
    </feGaussianBlur>
    <feBlend in="SourceGraphic" in2="blurOut" mode="normal">
    </feBlend>
    </filter>