|
Lesson 3- DHTML in IE 4
I recently began taking on and learning IE 4's implementation of DHTML,
and realized that there's a lot more to it than its NS counterpart. DHTML in IE does not
rely on any one tag, but rather, new objects and properties that stem out of the usual
HTML tags you're used to working with, such as <div> and <table>. It's a lot
more powerful, but at the same time, and lot more complicated to grasp.
The style object of IE 4
HTML elements in IE 4 now all support a style object, which is
essentially the "dynamic" object used to manipulate the look and
"feel" of that element. Like the <layer> tag, elements can also be
assigned an "id" attribute, which can then be used to identify it during
scripting. For example:
face="Arial"><div id="adiv"></div>
In your script, the syntax required to access the style object of
"adiv" would look like this:
face="Arial">adiv.style
The style object contains many properties, and by manipulating
these properties, you can alter the look of an element, dynamically. I'll show some of
these properties now:
Important properties of the style
object
|
backgroundColor |
The backgound color of the element |
|
backgroundImage |
The background image of the element |
|
color |
The color of the element |
|
position |
The position type of the element. Accepted values are "absolute"
and relative" |
|
pixelWidth |
The width of the element |
|
pixelHeight |
The height of the element |
|
pixelLeft |
The position of the element in relation to the x coordinates |
|
pixelTop |
The position of the element in relation to the y coordinates |
The properties above
only represent a subset of the total supported properties, but are the most commonly used
ones. The basic syntax to manipulating any style property is the same, which I'll show in
a minute. By accessing these properties, we can change the look and style of most HTML
elements (as opposed to just the <layer> tag in Netscape)!
Here's a simple demonstration. The below text changes color when
the mouse moves over it:
Move your mouse here
Here's the source code to the above text:
face="Arial"><span id="sometext"
onMouseover="sometext.style.color='red'"
onMouseout="sometext.style.color='black'">Move your mouse here</span>
Notice how I changed the text's color:
face="Arial">sometext.style.color='red'
I first used the element's id to gain access to it, then, through
the style object and finally the style's color property, I was able to easily change the
color of the text on demand!
All style properties are read/write, and are accessed in a
similar manner: element id->style object->property name.
Hers's another example that expands an image when the mouse is
over it, and reverts it back to its original size when the mouse moves out:
<img id="aimage"
src="piza.gif" onMouseover="enlarge()"
onMouseout="revertback()">
<script language="JavaScript1.2">
function enlarge(){
aimage.style.pixelWidth=164
aimage.style.pixelHeight=202
}
function revertback(){
aimage.style.pixelWidth=82
aimage.style.pixelHeight=101
}
</script>
Yes, I know its not exactly the most practical example in the
world, but it does illustrate DHTML at work quite well. The image changes dimensions on
demand, without the need to reload the document. That's something JavaScript alone can
never do.
|