2013-04-16 57 views
0

我用下面的代码改变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); 
} 
+0

创建一个jsfiddle.net请 – Neil

回答

1

这似乎很好地工作,当我在虚拟值亚为你传递给函数的参数:

http://jsfiddle.net/hKCDg/

我注意到你有相同的stroke-widthhoverInhoverOut,这打破了目的。

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

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

我在演示中将后者更改为5以获得视觉效果。

您传递给函数的值可能存在错误?

+0

哦....我的不好...谢谢你的帮助! – Jolin