On Tue, 23 Oct 2007 23:47:59 +0200, ddailey <[EMAIL PROTECTED]>  
wrote:

> Hmmm... Thomas in Opera the current time for your link shows just fine  
> (though it starts at midnight in IE).
>
> A similar thing http://srufaculty.sru.edu/david.dailey/svg/clock.svg  
> also using SMIL seems to show current time in both IE and Opera.
>
> In looking at your code, I believe this is why:
>
> you use JavaScript to reset the rotation of each of the clock hands:
>
>      var h_hrs = owner.getElementById("hourHand");
>        h_hrs.setAttributeNS(null, "transform",  
> "rotate("+ (30*hrs+0.5*min) +",105,105)");

You should note that <!-- isn't really a comment in the script, see e.g.  
http://lachy.id.au/log/2005/05/script-comments.

Since you have specified additive="sum" on the "hourHand" animateTransform  
element that means that the animateTransform transform will get  
postmultiplied on the hourHand transform. Then since the "comment" in the  
script wasn't really treated as a comment it will set the time also.

So a simple fix is: make the "comment" in the script a real comment, by  
using /* ... */ or // ...
Either way worked fine for me, that is either using setCurrentTime or  
setting the transforms. If you do both however, then you get both.

Also it won't work in IE/ASV because type="text/ecmaScript" has an  
uppercase S. Replacing that with "text/ecmascript" makes the script run  
fine.

> The problem (I suspect), at least in IE and possibly Nokia, is that the 
> animateTransform that you've attached to the objects uses its own default
> rotation angles (specified through markup) to override any attributes 
> associated with the rotation itself. That is the  
> transform="rotate(string)"is being clobbered by the animation itself.  
> Why Opera wouldn't do that, Idon't know, but that browser has the  
> sometimes uncanny ability to figureout what we are trying to accomplish.

According to the SVG spec[1] the transform on the target element shouldn't  
get overwritten when additive="sum" is used in an animateTransform, but  
you can use additive="replace" to get that effect if you want. I think  
both ASV and Opera behaves this way, at least the simple examples in the  
spec looked the same when I tried them.

Cheers
/Erik

[1] http://www.w3.org/TR/SVG11/animate.html#AnimateTransformElement

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to