Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   javascript help! (https://thetfp.com/tfp/tilted-technology/64755-javascript-help.html)

satisfried 08-03-2004 09:10 PM

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?

GreasyP 08-03-2004 09:46 PM

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.

SinisterMotives 08-03-2004 10:11 PM

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.

satisfried 08-05-2004 08:59 PM

thanks for the responses, i'm still working on it. (kinda)

SinisterMotives 08-19-2004 10:31 AM

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.

rukkyg 08-19-2004 11:43 AM

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="">

Saint Jude 08-21-2004 09:38 AM

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.


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

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, 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 74 75 76