Hover 设置打印文本的属性?
我正在设计一个光滑的raphael显示,但在实例化以下内容后,我似乎无法将print()d文本元素的属性设置为悬停:Hover 设置打印文本的属性?,hover,raphael,attr,Hover,Raphael,Attr,我正在设计一个光滑的raphael显示,但在实例化以下内容后,我似乎无法将print()d文本元素的属性设置为悬停: 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"}); 以下情况不会产生任何结果: $(
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");
也许行得通,但不行。我错过了什么?非常感谢您的帮助 您是先注册字体的吗?看 然而,我有一点怀疑,您实际上不想以这种复杂的方式呈现字体,而只是想在屏幕上写入一些文本,然后在悬停时对其进行更改。如果是这样的话,有一个非常简单的方法:
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");
}
);
(由于字体不是标准字体,您仍然需要将其加载到某个位置,但这是您的事。)好的,我让它工作了!您描述的“文本”方法以像素化的方式渲染文本,我需要抗锯齿文本。。。我确实对print方法应用了相同的逻辑,并通过元素id调用了hover,以保持悬停区域作为矩形的一致性。。。另外,我注意到我在最初的问题中将“填充”称为“颜色”,所以这是另一件值得注意的事情。。。工作起来很有魅力!谢谢