dhtml & alphabet soup
Post on 31-Dec-2015
39 Views
Preview:
DESCRIPTION
TRANSCRIPT
A combination
• Html 4.0
• Javascript
• The document object model (DOM) -- accessing individual document objects
• Cascading style sheets -- separation of form and content
• Netscape 6, IE 5.5/6
DOM
• Document.images[] accesses all the images in a document (we’ve seen it in billboard type image-displays)
• Suppose we want to access headings, paragraphs, and individual words
• <p id=“simple”>simple paragraph</p>• In javascript: var para =
document.getElementByID(“simple”)
getElementsby…
• Var headings = document.getElementsByTagName(“h1”);
• Var secondheading = headings[2]
CSS
• The element of style
• Para.style.color = “#00FF00”;
• Changes the paragraph to green
• Other properties: style.font-size style.font-family style.background-color, style.background-image
Rollover link color changes
<style>
a {text-decoration: none; color: #0000FF; }
</style>
<script language=“javascript”>
Function turnOn(currentLink) {
CurrentLink.style.color = “#990000”;
CurrentLink.style.textDecoration = “underline”;}
Continued…
• Function turnOff(currentlink) {
currentLink.style.color = “#0000FF”;
currentLink.style.textDecoration = “none”;}
</script>
<head> <a href=“home.html”
onMouseOver=“turnOn(this);” onMouseOut = “turnOff(this);”> home </a>
..explained
• When the users’ mouse goes over a link the event handler passes it to turnOn, modifying the style of the current link
• Note that values for style elements are specified as strings (e.g. “underline”)
A dynamic CSS toolbar..hang on!
• Highlights cells of a table
• Html for a cell:
• <td class = “toolbar” id = “news” width -= “120”> <a href=“#” onMouseOver=“linkOn(this, ‘news’);”
• onMouseOut = “linkOff(this, ‘news’);”>
News! </a> </td>
linkOn
• Function linkOn(currentLink, cell) {
currentLink.style.color = “#990000”;
currentLink.style.fontWeight = “bold”;
currentLink.style.textDecoration = “underline”;
Var CurrentCell = document.getElementById(cell);
currentCell.style.backgroundColor=“#CCCCCC”;
}
linkOff
• Function linkOn(currentLink, cell) {currentLink.style.color = “#FFFFFF”;currentLink.style.fontWeight = “normal”;currentLink.style.textDecoration = “none”;
Var CurrentCell = document.getElementById(cell);currentCell.style.backgroundColor=“#666666”;}
The header
• <style type=“text/css”>
a {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; text-decoration: none;}
. toolbar { background-color: #666666;}
</style>
style classes
• <style type=“text/css”>
.welcome { font-family….}
</style>
….
<p class=“welcome”>Welcome to Bill’s World!</p>
Layers
• A positionable container (like photoshop)• x,y,z dimensions • z dimension points out at the user• <div id=“MyLayer” style =
“position.absolute;z-index:1; left:100px;top:10px; width:300px;height:30px; background-color: #FFCC00;”>
div attributes
• position: can be absolute or relative (to any containing elemnt)
• left: distance from left edge of document/containing element (eg 100px)
• top: distance from top..(in pixels, too)• z-index: stacking order of display if layers
are overlapping. higher numbers win. elements without a z-index lose
Tabbed Folders (a la Hotmail)
• visibility:visible
• visibility:hidden
• have some function keep track of the current tab and the moused-over newtab, change their visibilities appropriately
Browser Detection
• if (document.getElementById){isDOM = true;}else if(parseInt(navigator.appVersion) >= 4) {if(navigator.appName == “Netscape”){isNN4 = true;}else if (navigator.appName==“Microsoft Internet
Explorer”){isIE4= true;}
Drop Down Menu Example
• <td width=“100”>• <div id = “linksLayer”
style=“position:absolute;left:211px….visibility:hidden;z-index:2”>
• <a href=“#”>DHTML</a><br>• <a href=“#>CSS</a><br> </div><a href=“#” onClick=showLayer(‘linksLayer’);”
onDblClick=“hideLayer(‘linksLayer’);”>Links</a> </td>
show/hideLayer
• function showLayer(layerid) {• var layer=document.getElementByID(layerid);• layer.style.visibility = “visible”;}
• function hideLayer(layerid) {• var layer=document.getElementByID(layerid);• layer.style.visibility = “hidden”;}
top related