Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 08-03-2004, 09:10 PM   #1 (permalink)
Upright
 
Location: Indianapolis
javascript help!

i never noticed this error but on some people's puters it's popping up with an XP popup with these errors:

Errors:

Line: 54
Char: 5
Error: 'document.images[...]' is null or not an object
Code:0

Line: 49
Char: 5
Error: 'document.images[...]' is null or not an object
Code:0

Line: 61
Char: 1
Error: Object expected
Code:0





here's the code
Quote:
SCRIPT LANGUAGE="JavaScript"


if (document.images) {
var defImg = "pack";

var listingsoff = new Image();
listingsoff.src = "images/listings.jpg";
var listingson = new Image();
listingson.src = "images/listings_over.jpg";
var upcomingoff = new Image();
upcomingoff.src = "images/upcoming.jpg";
var upcomingon = new Image();
upcomingon.src = "images/upcoming_over.jpg";
var pendoff = new Image();
pendoff.src = "images/pending.jpg";
var pendon = new Image();
pendon.src = "images/pending_over.jpg";
var buyersoff = new Image();
buyersoff.src = "images/buyers.jpg";
var buyerson = new Image();
buyerson.src = "images/buyers_over.jpg";
var aboutoff = new Image();
aboutoff.src = "images/aboutus.jpg";
var abouton = new Image();
abouton.src = "images/aboutus_over.jpg";
var mailoff = new Image();
mailoff.src = "images/mailinglist.jpg";
var mailon = new Image();
mailon.src = "images/mailinglist_over.jpg";
}

function actMenuItem(imgName) {
act(imgName);
inact(defImg);
}

function inactMenuItem(imgName) {
inact(imgName);
act(defImg);
}

function act(imgName) {
if (document.images)
LINE 49 document.images[imgName].src = eval(imgName + "on.src");
}

function inact(imgName) {
if (document.images)
LINE 54 document.images[imgName].src = eval(imgName + "off.src");
}


/SCRIPT
/HEAD

LINE 61BODY BGCOLOR=#333399 LEFTMARGIN=0 TOPMARGIN=5 ONLOAD="preloadImages();"
it's just some crappy rollovers i used photoshop to create them, and went back and cleaned up some of the code, now i'm trying to debug it and i'm a photoshop guy, the shit is greek to me.

anybody know anyone who can help figure this out? or at least point me in the javascript messageboard help direction?
satisfried is offline  
Old 08-03-2004, 09:46 PM   #2 (permalink)
Crazy
 
Location: Salt Lake City
It's been a while since I touched Javascript, but if my memory does not fail me, some browsers don't support the document.images[] type of command.

I wish I could help more. Try these sites:
Netscape's devedge
JavascriptKit (rather commercial)

Maybe somebody else can be more specific. Cheers.
__________________
---<>---^^---<>---^^---<>---
---^^---<>---^^---<>---^^---
---<>---^^---<>---^^---><---
GreasyP is offline  
Old 08-03-2004, 10:11 PM   #3 (permalink)
Junkie
 
It's hard to say without seeing the IMG tags in your HTML code, but the error means that an IMG tag with the specified name attribute doesn't exist in that document.
SinisterMotives is offline  
Old 08-05-2004, 08:59 PM   #4 (permalink)
Upright
 
Location: Indianapolis
thanks for the responses, i'm still working on it. (kinda)
satisfried is offline  
Old 08-19-2004, 10:31 AM   #5 (permalink)
Junkie
 
Another thing that may be happening is that the JavaScript that refers to those IMG elements is getting called before the browser parses the IMG tag, in which case the elements may not exist in the Document Object Model yet even though they do exist in the HTML file.

For small images such as buttons, I usually dispense with all the preloader crap in the document's HEAD and just set an IMG tag's source to an absolute URL in the mouseover and mouseout code, like so:

HTML Code:
<a href="home.html" onmouseover="document.images['button1'].src='home_rollover.gif';" onmouseout="document.images['button1'].src='home_default.gif';"><img name="button1" src="home_default.gif" border="0"></a>
Keeping the rollover code close to the IMG tag itself assures that the tag will be loaded before the event handler is likely to be called.

By the way, the "if (document.images)" tests in your code are unnecessary, since every DOM and older DHTML model (e.g., IE4 & NS4) has a document.images collection - there's no need to test for it.
SinisterMotives is offline  
Old 08-19-2004, 11:43 AM   #6 (permalink)
Loser
 
Location: RPI, Troy, NY
You could also just put that script code at the bottom of the page (after </body>). Or to keep it neat, you could make that code a function at the top, and call the function at the bottom page or in <body onLoad="">
rukkyg is offline  
Old 08-21-2004, 09:38 AM   #7 (permalink)
Upright
 
Can you post an example onmouseover = "..." call for us ?

Quote:
For small images such as buttons, I usually dispense with all the preloader crap in the document's HEAD and just set an IMG tag's source to an absolute URL in the mouseover and mouseout code
Hmm..that leads to delayed initial rollovers, which is the whole point of all that preloader crap.
Saint Jude is offline  
 

Tags
javascript


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 03:18 AM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73