KEYSPLINES Attribute | keySplines Property

This topic documents a feature of HTML+TIME 2.0, which is obsolete as of Windows Internet Explorer 9.

Sets or gets a set of Bezier control points that define the interval pacing of an animation.

Syntax

HTML <ELEMENT KEYSPLINES = vPoint... >
Scripting [ vPoint = ] object.keySplines [ = vPoint ]

Possible Values

vPoint String that specifies or receives a semicolon-delimited list of Bezier control points associated with the keyTimes list. Each control point is a set of four floating-point values, describing the Bezier control points for one time segment. The control points are listed in the following order:
x1
A floating-point value between 0 and 1 representing the x-axis of the first control point.
y1
A floating-point value between 0 and 1 representing the y-axis of the first control point.
x2
A floating-point value between 0 and 1 representing the x-axis of the second control point.
y2
A floating-point value between 0 and 1 representing the y-axis of the second control point.

The property is read/write. The property has no default value.

Remarks

The keyTimes values that define the associated time segment are the Bezier anchor points for the spline that determines how the animation is interpolated during that time segment. The keySplines values are the control points for the spline. Therefore, there must be one fewer set of control points than keyTimes values.

The keySplines value is ignored unless the calcMode property is set to spline.

Example

This example demonstrates how to use the keySplines property and the keyTimes property to set the pace of an animation. The keySplines property contains a list of Bezier control points to define the interval pacing of the animated DIV. The keyTimes property contains a list of time values to control the pacing of the animated DIV.

<HTML XMLNS:t="urn:schemas-microsoft-com:time">
<HEAD>
<TITLE>keyTimes / keySplines Properties</TITLE>
<?IMPORT namespace="t" implementation="#default#time2">

<STYLE>
    .time{ behavior: url(#default#time2);}
    .div1{position:absolute; top:195px; height:100px; width:150px;
        background-color:yellow; text-align:center; font-size:large;
        border:solid black 2px;}
</STYLE>
</HEAD>

<BODY TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="#FFFFFF"
    LINK="#000000" VLINK="#808080" ALINK="#000000">
<B>Simple timer:</B>
<SPAN id="Timer1" class="time" dur=".1" repeatCount="indefinite" fill="hold"
    onrepeat="innerText=(oAnim.currTimeState.simpleTime);">0</SPAN>
<BR>
<B>Segment timer:</B>
<SPAN id="Timer2" class="time" dur=".1" repeatCount="indefinite" fill="hold"
    onrepeat="innerText=(oAnim.currTimeState.activeTime);">0</SPAN>

<DIV id="t1" class="div1">How to use keyTimes and keySplines</DIV>
<t:animateMotion id="oAnim" begin="1;b1.click+1" dur="6s" autoReverse="true"
    calcMode="spline" keySplines="0 1 .5 1;.5 1 0 1" keyTimes="0;.5;1"
    values="25,0;250,50;500,0" targetElement="t1" fill="hold"/>

<P style="position:absolute;top:325px;">
<BUTTON id="b1"><B>Restart</B></BUTTON>
</P>

</BODY>
</HTML>

Code example: http://samples.msdn.microsoft.com/workshop/samples/author/behaviors/keySplines_keyTimes.htm

Applies To

t:TRANSITIONFILTER, t:ANIMATE, t:ANIMATECOLOR, t:ANIMATEMOTION

See Also

Introduction to HTML+TIME, keyTimes