spacer
Yehuda Shiran October 6, 2001
Initializing the style Object
Tips: October 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

Developer News
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?

The style object's zoom property does not inherit its initial value from its corresponding STYLE rule. You need to initialize it by yourself, in your JavaScript code. The following text box affects the zoom factor of the element below it ("Have you read our columns about Print Templates?"). Every time you hit the RETURN key, the zoom factor is being updated, not before its previous zoom factor is printed to an alert box. Play around with it for a while:

%
Have you read our columns about Print Templates?

Notice that the alert box does not include the zoom factor specified in the STYLE's #container1 rule, although its effect is clearly noticeable (200%). Here is the how we define the STYLE rule #container1 in this tip:

#container1
{
  zoom:200%;
  position:relative;
} 
To remedy this problem (the style object's zoom property not initialized), you need to explicitly initialize the style's zoom property. We added an onload event handler to this tip's BODY tag, which is set to init(). The init() function looks like this:

<SCRIPT LANGUAGE="JavaScript">
<!--
function init() {
  container2.style.zoom = "150%";
}
// -->
</SCRIPT>
Play around now with the following text box that impacts the zoom factor of container2 below. After you hit the RETURN key, the alert box will include the initial zoom factor (150%):

%

Have you read our columns about Print Templates?

Here is the how we define the STYLE rule #container2 in this tip:

#container2
{
  zoom:150%;
  position:relative;
} 
And here is the code for container2 and its event handler, updateZoom2():

<INPUT ID="zoomfactor2" TYPE="text" VALUE="50" SIZE="3" MAXLENGTH="4" onkeyup="updateZoom2()">%
<DIV ID="container2">
Have you read our columns about Print Templates?
</DIV></P>
<SCRIPT LANGUAGE="JavaScript">
<!--
function updateZoom2() {
  if (event.keyCode != 13) return;
  alert("The zoom factor was " + container2.style.zoom);
  container2.style.zoom = zoomfactor2.value;
}
// -->
</SCRIPT>
Notice that, for consistency reasons, we initialize the text box to the same value we set the zoom factor to in the init() function.

This tip works on IE 6.0 and above.


People who read this tip also read these tips:

Look for similar tips by subject:

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Rolling Out Your Own HTML Application Version Control · HTML 5: Client-side Storage · Working with Ajax Server Extensions
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Wi-Fi Product Watch, November 2009 · Chip Market Recovering From '08 Collapse · Low-Cost Tools to Kickstart Your New Business