Working with Objects
Download
Report
Transcript Working with Objects
Tutorial 11
Working with Objects
Creating an Animated Web
Page
Objectives
Define DHTML and describe its uses
Understand objects, properties,
methods, and the document object
model
Distinguish between different object
models
Work with object references and object
collections
Objectives
Modify an object’s properties
Apply a method to an object
Create a cross-browser Web site using
object detection
Work with the style object to change the
styles associated with an object
Write functions to apply positioning
styles to an object
Objectives
Insert event handlers to run a script in
response to an event
Place a JavaScript command in a link
Run timed-delay and timed-interval
commands
Work with the properties of the display
window
Describe the techniques of linear and
path animation
Introduction to DHTML
Developers began to look for ways to
create dynamic pages
New approach, in which the HTML code
itself supported dynamic elements
Known collectively as dynamic HTML,
or DHTML
Introduction to DHTML
Interaction of three aspects
• A page’s HTML/XHTML code
• A style sheet that defines the styles used in
•
the page
A script to control the behavior of elements on
the page
Introduction to DHTML
Some uses
• Animated text
• Pop-up menus
• Rollovers
• Web pages that retrieve their content from
•
external data sources
Elements that can be dragged and dropped
Understanding JavaScript
Objects
JavaScript is an object-based language
An object is any item associated with a
Web page or Web browser
Each object has
• Properties
• Methods
Exploring the Document Object
Model
The organized structure of objects and
events is called the document object
model, or DOM
Every object related to documents or to
browsers should be part of the document
object model
In practice, browsers differ in the objects
that their document object models
support
Exploring the Document Object
Model
Development of a Common DOM
• Basic model, or DOM Level 0
• Supported browser window, Web document,
•
•
and the browser itself
Development followed two paths: one
adopted by Netscape and the other adopted
by Internet Explorer
Internet Explorer DOM also provided for
capturing events
Exploring the Document Object
Model
Development of a Common DOM
• World Wide Web Consortium (W3C) stepped
in to develop specifications for a common
document object model
• DOM Level 1
• DOM Level 2
• DOM Level 3
A DOM can be used by any scripting
language including JavaScript and Java
Exploring the Document Object
Model
Development of a Common DOM
Exploring the Document Object
Model
Development of a Common DOM
• Within each DOM, particular features may not
•
be supported by every browser
Code should be compatible with
• Netscape 4
• Internet Explorer 5
• W3C DOM Level 1 and 2
Exploring the Document Object
Model
The document tree
Referencing Objects
Object Names
• Each object is identified by an object name
Referencing Objects
Object Names
• General form is object1.object2.object3…
• To reference the history you would use the
form
window.history
• For the body, you would use
document.body
Referencing Objects
Working with Object Collections
• Objects are organized into arrays called
object collections
document.collection
Referencing Objects
Working with Object Collections
Referencing Objects
Using document.all and
document.getElementById
• Not all elements are associated with an object
•
collection
Can reference these objects using their id
values
document.all[“id”]
document.all.id
document.getElementById(“id”)
Referencing Objects
Referencing Tags
• Internet Explorer DOM
document.all.tags(tag)
document.all.tags(tag)
• W3C DOMs
document.getElementsbyTagName(“tag”)
document.getElementsbyTagName(“p”)[0]
Working with Object Properties
The syntax for setting the value of an
object property is
object.property = expression
Example
document.title = “Avalon Books”
Working with Object Properties
Working with Object Properties
Some properties are read-only
Working with Object Properties
Storing a Property in a Variable
variable = object.property
Using Properties in a Conditional
Expressions
if(document.bgColor==“black”) {
document.fgColor=“white”
} else {
document.fgColor=“black”
}
Working with Object Methods
object.method(parameters)
Creating a Cross-Browser Web
Site
You can create this kind of code, known
as cross-browser code, using two
different approaches: browser detection
or object detection
Creating a Cross-Browser Web
Site
Using Browser Detection
• Using browser detection, your code
determines which browser (and browser
version) a user is running
navigator.appName
• Most browser detection scripts – commonly
known as browser sniffers – use this
property to extract information about the
version number
navigator.uerAgent
Creating a Cross-Browser Web
Site
Using Object Detection
• With object detection, you determine which
document object model a browser supports
var NS4DOM = document.layers ?
true:false;
var IEDOM = document.all ?
true:false;
var W3CDOM =
document.getElementByID ?
true:false;
Creating a Cross-Browser Web
Site
Employing Cross-Browser Strategies
• One strategy, called page branching, creates
•
separate pages for each browser along with
an initial page
A script determines the capabilities of the
user’s browser and automatically loads the
appropriate page
Creating a Cross-Browser Web
Site
Employing Cross-Browser Strategies
Creating a Cross-Browser Web
Site
Employing Cross-Browser Strategies
• To automatically load a page into a browser
based on the type of the browser detected,
use the command
location.href = url;
• A second cross-browser strategy is to use
•
internal branching
Most web developers apply a third crossbrowser strategy
• Application programming interface or API
Creating a Cross-Browser Web
Site
Employing Cross-Browser Strategies
Working with the style Object
The syntax for applying a style is
object.style.attribute = value
Working with the Style Object
Setting an Element’s Position
Working with the style Object
Positioning Properties in the IE DOM
Creating the Positioning
Functions for Avalon Books
Example
function xCoord(id) {
object=document.getElementByID(id)
;
xc=parseInt(object.style.left);
return xc;
}
Working with Event Handlers
An event handler is an attribute added
to an element that specifies a program to
be run in response to an event
Working with Event Handlers
Working with Event Handlers
Working with Event Handlers
Running JavaScript Commands as Links
<a href=“javascript.script”>content</a>
Using the onLoad Event Handler
Animating an Object
Working with Time-Delayed Commands
setTimeout(“command”, delay);
timeID = setTimeout(“command”,
delay);
clearTimeout(timeID);
clearTimeout();
Animating an Object
Running Commands at Specified
Intervals
timeID=setInterval(“command”,interv
al);
setInterval(“command”, interval);
clearInterval(timeID);
clearInterval();
Animating an Object
Animating the Avalon Books Web page
•
Example
Function moveAvalon() {
var y=yCoord(“avalon”);
if (y <= 260) {
shiftIt(“avalon”, 0, 10);
shiftIt(“books”, 0, 10);
setTimeout(“moveAvalon()”, 30);
} else {
// run moveBooks function;
}
}
Controlling Layout for Different
Monitor Resolutions
Calculating the Size of the Display
Window
window.outerWidth
window.outerHeight
window.innerWidth
window.innerHeight
document.body.clientWidth
document.body.clientHeight
Controlling Layout for Different
Monitor Resolutions
Calculating the Size of the Display
Window
document.documentElement.offsetWidth
document.documentElement.offsetHeight
Using Path Animation
Linear animation means that the
animation takes place over a straight line
Path animation means each set of
coordinates in the path is entered into an
array, and the animation moves point to
point
Using Path Animation
Tips for working with JavaScript
Objects and DHTML
If your code reuses the same object
reference, store the object in a variable
Place your customized functions in
external files
Use object detection
Use path animation and create
interesting visual effects
Break up your animated effects into
separate functions
The End