我正在尝试在raphael.js上使用.data方法。

 var r = Raphael('diagram', width, width);
 [...]
 var z = r.path().attr({ arc: [value, color, rad], 'stroke-width': width/24 });
 z.data({"entry": entry});
 z.mouseover(function(){
            this.animate({ 'stroke-width': width/14, opacity: .75 }, 1000, 'elastic');
            if(Raphael.type != 'VML') //solves IE problem
            this.toFront();
            title.stop().animate({ opacity: 0 }, speed, '>', function(){
                this.attr({ text: this.data('entry').name + '\n' + this.data('entry').value + '%' }).animate({ opacity: 1 }, speed, '<');
            });


不幸的是,它不起作用。这是raphael.js中的错误,还是我的代码不正确?

请帮忙,谢谢。

如何将参数传递给mouseover方法?

http://jsfiddle.net/stefanszakal/St9Ky/

最佳答案

您正在使用Raphael JS 1.5。元素上的.data()方法未实现。

使用这个://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js

小提琴非常有用。

关于javascript - 使用.data()方法的raphael.js传递参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17757247/

10-12 14:07