Рафаэль Джаваскрипт. Изменить внешний вид текста по отношению к другому объекту - PullRequest
2 голосов
/ 15 марта 2012

Кто-нибудь знает, как изменить внешний вид текста относительно его положения относительно другого объекта при использовании Рафаэля?

Я создал скрипку JS, чтобы продемонстрировать, что я имею в виду (ссылка ниже).

В примере есть оранжевый прямоугольник и некоторый текст, который частично перекрывает его. Я хотел бы, чтобы текст отображался только тогда, когда он находится непосредственно над прямоугольником, и был скрыт там, где его нет. Я буду использовать перевод для изменения своей позиции.

Любая помощь в этом была бы блестящей. Спасибо.

Ссылка на JS Fiddle

1 Ответ

0 голосов
/ 21 сентября 2012

Если я правильно вас понял, это можно сделать с помощью clip-rect. Я не уверен, что это правильный путь.

JS Fiddle link

var paper = Raphael(10, 10,500,500);
var rect = paper.rect(10,100,200,100,3);
rect.attr({
fill: "orange",
stroke:"orange"});

var txt = paper.text(15, 180, "Hey diddle diddle\nThe cat and the fiddle\nThe dish ran away with the spoon\n The little dog laughed to see such fun\nAnd the cow jumped over the moon");

txt.attr({
    "text-anchor": "start",
    "font-family": "Arial",
    "font-size": "16px",
    "clip-rect": "10,100,200,100",
});

1008 *

...