Javascript动画-SVG形状消失

用户名

我刚接触JS,所以可能会缺少一些东西。我试图用鼠标悬停为SVG矩形设置动画,以使形状看起来像是在“逃离”鼠标。当我尝试通过添加x和y来更改它们时,形状消失了。如果我减去,它的表现将达到预期。

任何帮助将不胜感激。

HTML
     <svg width="1200" height="600">
         <rect x="100" y="100" width="100" height="100" id="firstShape" onmouseover="moveShape(firstShape);">               
     </svg>
Javascript
     function moveShape(obj) {
                var newX = obj.getAttribute("x") + 5;
                var newY = obj.getAttribute("y") + 5;           
                obj.setAttribute("x", newX);
                obj.setAttribute("y", newY);
      }
r3mainer

属性是字符串,而Javascript处理字符串和数字的方式非常草率。

您实际上所做的是将“ 5”添加到“ 100”,结果是“ 1005”。

如果您在修改属性之前将属性转换为整数,那么您的代码将可以正常工作。

function moveShape(obj) {
  var newX = parseInt(obj.getAttribute("x")) + 5;
  var newY = parseInt(obj.getAttribute("y")) + 5;
  obj.setAttribute("x", newX);
  obj.setAttribute("y", newY);
}
<svg width="1200" height="600">
  <rect x="100" y="100" width="100" height="100" id="firstShape" onmouseover="moveShape(firstShape);">               
</svg>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

奇怪的形状 SVG 动画

来自分类Dev

用Javascript制作SVG动画

来自分类Dev

当容器变得太小时,CSS动画SVG消失

来自分类Dev

在 SVG 形状和 clipPath 上使用变换动画的问题

来自分类Dev

使用 javascript(形状变形)创建 svg 路径

来自分类Dev

如何使javascript形状与图像中的形状相同,以及动画结束后如何清除javascript画布形状?

来自分类Dev

如何为svg路径填充javascript而不是HTML设置动画

来自分类Dev

如何使用jQuery / JavaScript为SVG路径设置动画?

来自分类Dev

WPF在动画消失后消失

来自分类Dev

AngularJS动画元素消失

来自分类Dev

动画后按钮消失

来自分类Dev

CSS动画不会消失

来自分类Dev

使 Imageview 在动画后消失

来自分类Dev

如何使用SVG和Javascript创建可点击的形状?

来自分类Dev

Javascript-单击svg形状时的调用函数。

来自分类Dev

动态添加完整的svg形状(使用纯Javascript)

来自分类Dev

在SVG形状上对笔触进行动画处理无法正常工作

来自分类Dev

在SVG滚动条上设置文本动画,不能同时激活两个形状?

来自分类Dev

在SVG形状上对笔触进行动画处理无法正常工作

来自分类Dev

SVG使用Javascript将形状平滑地变形为其他预定义的形状

来自分类Dev

形状层的动画路径

来自分类Dev

Javascript动画

来自分类Dev

Javascript动画

来自分类Dev

Javascript 动画?

来自分类Dev

完成动画后,图表消失

来自分类Dev

动画时UILabels文本消失

来自分类Dev

动画元素角度不消失

来自分类Dev

动画时UILabels文本消失

来自分类Dev

启动画面立即消失