Archive for the 'DHTML' Category

DHTML - DHTML-Introduction

Tuesday, February 7th, 2006

>

Think of DHTML as not a singular technology but a combination of three existing technologies glued together by the Document Object Model (DOM):

1. HTML - For creating text and image links and other page elements.

2. CSS - Style Sheets for further formatting of text and html plus other added features such as positioning and layering content.

3. JavaScript - The programming language that allows you to accesses and dynamically control the individual properties of both HTML and Style Sheets.

The way JavaScript accesses the properties of an HTML document is through the Document Object Model (DOM). The job of the DOM is to expose all the attributes of HTML and Style sheets to JavaScript control. All you need to know about the DOM is what JavaScript commands it accepts. Not that easy, as different browsers have their slightly different versions of the DOM, so they access HTML properties differently as well as display them differently.

So how do you locate an HTML element on a page and change its property? This is the job of JavaScript. Obviously, I cant into all the details of JavaScript or the DOM, but here is an example of how JavaScript can change a visibility of a style sheet layer in both browsers.

Note: That every piece of HTML has a location much like a directory in a phone book. When finding that piece of HTML you have to go through the same hierarchy process of searching for a name in the phone book such as

(state) Washington -> (City) Seattle -> (Listings) j -> (Name) Jessica

In JavaScript, a reference to this would be equivalent to

washington.seattle.j.jessica

Now Jessica may have additional information such as her address and phone number, so the JavaScript reference would be written this way.

washington.seattle.j.jessica.address

or

washington.seattle.j.jessica.phone

Lets transcribe the above metaphor to a DHTML document that contains a

layer [myLayer] with style attributes [top,left,width,height,z-index,visibility,etc] and the layer contains a bit of text “myText” (Note that the visibility attribute is set to hidden)

In Netscape the address to the DIV layer “myLayer” is

document.myLayer

in Explorer it is

document.all.myLayer.style

The W3C way of identifying the address is

document.GetElementById(’myLayer’).style

To access the properties such as visibility under “myLayer” you would use these addresses.

Netscape

document.myLayer.visibility

Explorer

document.all.myLayer.style.visibility

W3C

document.getElementById(’myLayer’).style.visibility

To change the visibility of this layer you would assign a value to your JavaScript address.

Netscape

document.myLayer.visibility = “visible”;

Explorer

document.all.myLayer.style.visibility = “visible”;

W3C

document.getElementById(’myLayer’).style.visibility=”visible”;

Now the previously hidden layer is now visible. This is essentially how DHTML works, but understand there are hundreds and hundreds of attribute properties for text, images, documents and windows. Not all these properties are supported in both browser and sometime accessing a property requires a few more hurdles, but if you stick to the common denominator properties both browser use then life it a bit easier. I recommend the excellent DHTML reference book Dynamic HTML - The Definitive Guide by Danny Goodman (O’Riley Books) It lists all of the DHMTL properties and their cross browser compatibilities.

About the Author

Eddie Traversa DHTML Nirvana http://nirvana.media3.net/ is a site dedicated to exploring the possibilites of DHTML. It hosts free graphics, dhtml templates and tutorials. Some of the tutorials emphasis is on Flash/DHTML integration.

DHTML - DHTML or Flash?

Tuesday, February 7th, 2006

>

The last five years has seen an exponential growth in the use of shockwave and flash animations in creating websites. The old tried and trusted techniques such as D/HTML are slowy moving over to make room for this newer multimedia delivery vehicle. Scripting, such as Javascript, is viewed with disdain by some and ignored by others. Yet the people who advocate the use of flash/shockwave in creating multimedia-rich sites are not asking the right question: Is all that glitters gold?

An important facet of flash / shockwave glossed over by most people is that these technologies are a packaged scripting environment: In other words - most of what you can do in flash, you can do in DHTMl with a liitle effort. A question that pops up at this stage is: Why would I want to go through all of that? The answer is simple and is illustrated by way of practical example.

Pick a topic - any topic - and type the relevant seach keywords into your favorite search engine. Now try to find a flash site under the first thirty results. You will be surprised to find that this ’silver bullet’ of web design does not even feature. The majority of search engines do not support the indexing of shockwave / flash sites - this can have a detrimental effect on your Internet business if you rely on search engine traffic to generate revenue. Remember one thing: Content is king and the only recognised content is in HTML pages.

Bells & Whistles: Where, When and What

Deploying rich multimedia sites are becoming more and more a design requirement. However, the objective of your site should be the determining factor between using D/HTML or Flash for multimedia content. Exposure and the generation of revenue solidly discounts the use of Flash as the major site component - search placement is too important to sacrifice for a simple thing such shiny buttons. D/HTML provides an attractive alternative to ensuring that your site is indexed properly by search engines.

However, Flash should not be put out to pasture based on this: Limited Flash content can still be an asset on your Internet presence if used judisciously. Corporate Intranets are another matter entirely: Flash provides the perfect delivery vehicle for rich business applications, where DHTML would be more of a liability than an asset - e.g. training material, presentations and etcetera.

In conclusion, the objective of a site should determine which of the two technologies are the preferred medium for mutimedia delivery.

About the Author

Riaan Pieterse is the CEO and founder of Kerberos Internet Services CC, South Africa. Having spent a number of years conducting various consulting assignments in the Far East, Middle East, Africa and Europe to businesses and governments alike, Riaan has a solid understanding of the business and technology issues in today’s market.

For more information visit http://www.kerberosdev.net