2010-09-03 33 views
9

Bu yüzden Raphael JS'yi denemek ve animate'u kullanıyorum.Raphael JS - animate .text()

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://raphaeljs.com/raphael.js"></script> 
    <script type="text/javascript"> 
     $(window).load(function() { 
      var R = Raphael("holder", 640, 480); 
      var test = R.text(200, 200, "Test string"); 
      test.animate({cx: 20, cy: 20}, 2000); 

     }); 
    </script> 
</head> 
    <body> 
     <div id="holder"> 
     </div> 
    </body> 
</html> 

Ve metin sadece 200,200'e de kalır:

İşte çalıştığım buydu. Bunun neden işe yaramayacağı hakkında bir fikrin var mı?

cevap

5

Animasyon işlevi yalnızca belirli niteliklere sahip olabilir ve yalnızca söz konusu nesneye ait nitelikleri canlandırabilir.

Bir metin nesnesinin cx veya cy öznitelikleri yoktur - bu nedenle örnek kodunuz animasyon yapmaz.

Yalnızca bir metin nesnesini yalnızca x, y ve metin niteliklerine sahip olduğundan çevirebilirsiniz.

http://raphaeljs.com/reference.html#text

Metin çevirmek çalışıyorsanız, böyle x ve y özelliklerini kullanın: ile taşıyarak,

test.animate({x:20, y:20}, 2000); 
+0

Teşekkür @John {x: 20, y: 20} oldu Tam olarak ne yapmam gerekiyordu. Kullanmakta olduğum metin yerine x/y olduğunu fark etmedim (cx cy) – Incognito

+0

Awesome! Bir rotasyon yapmaya çalıştığın için endişelendim ve cevabımdan biraz hayal kırıklığına uğradım heehee. Rica ederim! – John