0

私は滑らかなラファエルディスプレイを作成していますが、インスタンス化後にホバー時にprint()されたテキスト要素の属性を設定できないようです:

var w = Raphael("weddings", 85, 30);
var fonts = [0, w.getFont("helvetica-neue-thin"), w.getFont("arial")];
w.print(0, 15, "Weddings", fonts[1], 20).attr({fill: "#000000"});

以下は結果を生成しません。

$("#weddings").hover(function () {
w.attr("color", "#000");
},
function () {
w.attr("color", "#FFFFFF");
});

私はそれを考えました:

w.print.attr("color", "#FFFFFF");

うまくいくかもしれませんが、うまくいきません。私はここに何かが欠けていますか?どんな助けでも大歓迎です!

4

1 に答える 1

0

最初にフォントを登録しましたか?.registerFont() 関数を参照してください。

ただし、実際にはこの複雑な方法でフォントをレンダリングするのではなく、単に画面にテキストを書き込んでホバー時に変更したいのではないかと、かすかな疑いがあります。もしそうなら、無限に簡単な方法があります:

var w = Raphael(0, 0, 85, 30);
var text = w.text(0, 15, "Weddings").attr({'font-family': "helvetica-neue-thin", 'text-anchor': 'start', 'fill': '#000'});

text.hover(
    function () {
        this.attr("fill", "#F00");
    },
    function () {
        this.attr("fill", "#000");
    }
 );

(フォントは標準ではないため、どこかにロードする必要がありますが、それはあなたの仕事です。)

于 2013-01-27T19:30:16.187 に答える