鼠标悬停不适用于动画路径

时间:2013-04-16 11:37:23

标签: javascript path jquery-animate raphael

我使用以下代码在路径stroke-width时更改mouseover,但它不起作用...我已经检查过很多解决方案,他们似乎使用相同的解决方案像我一样。我的canvasRaphael("svgContainer", 100, 100);

 function drawPath(i,floorlevel,pointsNum){


  var x1 = floorlevel[i].x;
  var y1 = floorlevel[i].y;
  var x2 = floorlevel[i+1].x;
  var y2 = floorlevel[i+1].y;
  var p = canvas.path("M"+x1 +" "+ y1);
  p.attr("stroke", get_random_color());
  p.attr("stroke-width",4);
  p.attr("id",floorlevel[i].node+floorlevel[i+1].node);


  p.animate({path:"M"+x1 +" "+ y1+ " L" + x2 +" "+ y2}, 1000);

  var set = canvas.set();

  var hoverIn = function() {
      this.attr({"stroke-width": 10});
  };

  var hoverOut = function() {
      this.attr({"stroke-width": 10});    
  }

  p.hover(hoverIn, hoverOut, p, p);
  set.push(p);
}   

1 个答案:

答案 0 :(得分:1)

当我为你传递给函数的参数的伪值加上它时似乎工作正常:

http://jsfiddle.net/hKCDg/

我注意到stroke-widthhoverIn的{​​{1}}相同,这违背了目的。

hoverOut

我在演示中将后者更改为 var hoverIn = function() { this.attr({"stroke-width": 10}); }; var hoverOut = function() { this.attr({"stroke-width": 10}); }; 以获得视觉效果。

也许您传递给函数的值有错误?