www.fgks.org   »   [go: up one dir, main page]

Click to Rate and Give Feedback
Methods
 recalc Method
recalc Method

Recalculates all dynamic properties in the current document.

Syntax

document.recalc( [bForceAll])

Parameters

bForceAll Optional. A Boolean that specifies one of the following values.
falseDefault. Recalculates only those expressions that have changed since the last recalculation.
trueRecalculates all expressions in the document.

Return Value

No return value.

Remarks

Implicit dependencies, internal property changes, and related properties can cause some expressions not to recalculate, even though the referenced properties might have changed. For example, resizing the main window changes the clientWidth property. Expressions that reference clientWidth might not be recalculated, because the change might not be recognized.

Implicit dependencies refer to properties that can be modified by changes in other properties. For example, the height property of a div object implicitly depends on the innerHTML property of the div object. However, if an expression references the height property, a change in the innerHTML property, which might modify the height, does not cause a recalculation of the expression on a subsequent call to recalc.

Related properties can access or manipulate data or behaviors through one or more other properties. For example, pixelLeft and posLeft can set or get the left position of the element. However, if an expression that references pixelLeft and posLeft is modified, the expression might not be recalculated on subsequent calls to recalc.

Related properties that can cause this behavior include the following: clientHeight, clientLeft, clientTop, clientWidth, height, left, offsetHeight, offsetLeft, offsetTop, offsetWidth, pixelHeight, pixelLeft, pixelTop, pixelWidth, posHeight, posLeft, posTop, posWidth, and top.

To force the recalculation of all expressions, refer to the same property name or manually call recalc(true).

Example

The following example uses the recalc method in HTML and script to help create a timer. If the calls to recalc are commented out, the timer does not work correctly.

<HTML>
<HEAD> 
<TITLE>Recalc Example</TITLE>
<STYLE>
BUTTON {font-size:14;width:150}
</STYLE>
<SCRIPT>
 
var timerID = null;
var seconds = 0;
 
//
// This function is called when the page loads. 
// It sets up a couple of expressions.
//
 
function init()
{
  A.style.setExpression("width","seconds*10");
  B.setExpression("innerText","seconds.toString()");
}
 
//
// This function gets calls once a second and updates the seconds
// variable. Notice that without recalc, the expressions aren't
// updated until the mouse is moved.
//
 
function timer()
{
  seconds++;
  document.recalc();
}
 
//
// starts the timer
//
 
function starttimer()
{
  if (timerID == null) 
  {
    timerID = setInterval("timer()", 1000);
    startButton.disabled = true;
    stopButton.disabled = false;
  }
}
 
//
// stops the timer
//
 
function stoptimer()
{
  if (timerID != null)
  {
    clearInterval(timerID);
    timerID = null;
    startButton.disabled = false;
    stopButton.disabled = true;
  }
}
 
//
//  resets the timer
//
 
function resettimer()
{
  seconds = 0;
}
 
</SCRIPT>
</HEAD>
<BODY >
 
<DIV id=A style="background-color:lightblue" ></DIV>
<DIV id=B style="color:hotpink;font-weight:bold"></DIV>
 
<BR>
<BUTTON id="startButton" >Start the Timer</BUTTON></BR>
<BUTTON id="stopButton" DISABLED="true" >Stop the Timer</BUTTON><BR>
<BUTTON id="resetButton" >Reset the Timer</BUTTON><BR>
 
<P style="width:320;color:peru;background-color:wheat">
This example illustrates the use of document.recalc().  If the calls
to recalc are omitted in this example, expressions will not be updated 
until the mouse is moved.
</P>
 
</BODY>
</HTML>
This feature requires Microsoft® Internet Explorer 5 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

Standards Information

There is no public standard that applies to this method.

Applies To

document

See Also

About Dynamic Properties, getExpression, removeExpression, setExpression
Tags What's this?: Add a tag
Community Content
 
Add Community Content
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker
DCSIMG