SMILAnimation supports several methods for controlling the behavior of animation:
endElement(), et al. These methods are used to begin and end an animation that has declared the timing to respond to the DOM, using the following syntax:
<animate begin="indefinite" end="indefinite" .../>
Note that only one of
endneed be specified - either or both can be used. The
beginElementAt()methods must do nothing if the animation is not explicitly set with the
begin="indefinite"syntax above. The
endElementAt()methods must do nothing if the animation is not explicitly set with the
beginElement()causes the animation to begin in much the same way that an animation with event-based begin timing begins. The effective begin time is the current presentation time at the time of the DOM method call. Note that
beginElement()is subject to the
restartattribute in the same manner that event-based begin timing is. If an animation is specified to disallow restarting at a given point,
beginElement()methods calls must fail. Refer also to the section Restarting animations.
beginElementAt()has the same effect as
beginElement(), except that the effective begin time is offset from the current presentation time by an amount specified as a parameter. Passing a negative value for the offset causes the element to begin as for
beginElement(), but has the effect that the element begins at the specified offset into its active duration. The
beginElementAt()method must also respect the
restartattribute. The restart semantics for a
beginElementAt()method call are evaluated at the time of the method call, and not at the effective begin time specified by the offset parameter.
endElement()causes an animation to end the active duration, just as
enddoes. Depending upon the value of the
fillattribute, the animation effect may no longer be applied, or it may be frozen at the current effect. Refer also to the section Freezing animations. If an animation is not currently active (i.e. if it has not yet begun or if it is frozen), the
endElement()method will fail.
endElementAt()causes an animation to end the active duration, just as
endElement()does, but allows the caller to specify a positive offset, to cause the element to end at a point in the future. Other than delaying when the end actually happens, the semantics are identical to those for
endElementAt()is called more than once while an element is active, the end time specified by the last method call will determine the end behavior.
The expectation of the following interface is that an instance of the ElementTimeControl interface can be obtained by using binding-specific casting methods on an instance of an animate element. A DOM application can use the
hasFeaturemethod of the DOMImplementation interface to determine whether the
ElementTimeControlinterface is supported or not. The feature string for this interface is