Go Back   CodingForums.com > :: Client side development > JavaScript programming

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 12-20-2007, 02:57 PM   PM User | #1
johnny_n
New to the CF scene

 
Join Date: Dec 2007
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
johnny_n is an unknown quantity at this point
not implemented error, window.onload problem

Hello all

I have used a function from Jeremy Keith's book, "dom scripting" , the function is used to add extra functions to the window.onload event.

the problem is I get a "error : not implemented" error in IE, no errors in firefox.

I believe it must be the way I am using this function because the function actually executes properly, and I have seen it working on other peoples sites ok.
I believe it is quite common now. here is the code
Code:
 
function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function() {
			
			oldonload();
			func();
		}
	}
}
here is the entire page

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml-transitional.dtd">
<html xmlns="http://www.w3c.org/1999/xhtml">
<head>
<meta http-equiv="Content Type" content="text/html; charset=utf-8" />
<title> javascript test page</title>
<script type="text/javascript">
function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
			        oldonload();
			      }
      		func();
			//oldonload();
			//func();
		}
	}
}

function removeChildrenFromNode(node)
{
   if(node !== undefined &&
        node !== null)
   {
      return;
   }

   var len = node.childNodes.length;

	while (node.hasChildNodes())
	{
	  node.removeChild(node.firstChild);
	}
}


function makeImageGroups(color_name,product_code) {
	var imageGroup = new Array();

	var countone=0;
	for (var i=0; i < imageArray.length; i++){

		if (imageArray[i][0].substr(0,3) == color_name){
			imageGroup[countone] = new Array();
			imageGroup[countone][0] = imageArray[i][0];
			imageGroup[countone][1] = imageArray[i][1];
			imageGroup[countone][2] = imageArray[i][2];
			countone++;


		}

	}
	for (var i=0; i < imageGroup.length ; i++) {
					alert("l= " + imageGroup.length + " - " +imageGroup[i][0] +" - " + imageGroup[i][1]+" - "+imageGroup[i][2]);
	}

	var myGallery = document.getElementById("LightBoxGallery");
	if(myGallery.hasChildNodes)	removeChildrenFromNode(myGallery);

	myGalleryTitle = document.createElement("div");
	myGalleryTitleText = document.createTextNode("Image Gallery - " + (imageGroup.length) + " extra images");
	myGalleryTitle.setAttribute("id","LightBoxGalleryTitle");
	myGalleryTitle.appendChild(myGalleryTitleText);
	myGallery.appendChild(myGalleryTitle);


	for (var i=0; i < imageGroup.length ; i++) {

		galleryPicDiv = document.createElement("div");
		galleryPicDiv.setAttribute("class","LightBox");
		galleryPicLink = document.createElement("a");
		galleryPicLink.setAttribute("href","/images/uploads/"+product_code+"/"+imageGroup[i][0]);
		galleryPicLink.setAttribute("title","use arrows to scroll");
		galleryPicLink.setAttribute("rel","lightbox[imageset]");
		galleryPicImg = document.createElement("img");
		galleryPicImg.setAttribute("src","/images/uploads/"+product_code+"/thumbs/"+imageGroup[i][0]);
		galleryPicImg.setAttribute("width",75*(imageGroup[i][1]/imageGroup[i][2]));
		galleryPicImg.setAttribute("height",75);
		galleryPicImg.setAttribute("border",0);
		galleryPicImg.setAttribute("alt","/");
		galleryPicImg.setAttribute("class","LightBoxImage");

		galleryPicLink.appendChild(galleryPicImg);
		galleryPicDiv.appendChild(galleryPicLink);
		myGallery.appendChild(galleryPicDiv);


	}
}

</script>
</head>
<body>
<div id="LightBoxGallery">
</div>

<script type="text/javascript">
var imageArray = new Array();

imageArray[0] = new Array();
imageArray[0][0] = "BLK2.jpg"; imageArray[0][1] = "341";imageArray[0][2] = "520";

imageArray[1] = new Array();
imageArray[1][0] = "BLK3.jpg"; imageArray[1][1] = "951";imageArray[1][2] = "525";

imageArray[2] = new Array();
imageArray[2][0] = "BLK4.jpg"; imageArray[2][1] = "525";imageArray[2][2] = "520";

imageArray[3] = new Array();
imageArray[3][0] = "BLK5.jpg"; imageArray[3][1] = "856";imageArray[3][2] = "525";

imageArray[4] = new Array();
imageArray[4][0] = "BLK6.jpg"; imageArray[4][1] = "699";imageArray[4][2] = "525";

imageArray[5] = new Array();
imageArray[5][0] = "BLK7.jpg"; imageArray[5][1] = "710";imageArray[5][2] = "525";

imageArray[6] = new Array();
imageArray[6][0] = "BRZ2.jpg"; imageArray[6][1] = "336";imageArray[6][2] = "520";

imageArray[7] = new Array();
imageArray[7][0] = "BRZ3.jpg"; imageArray[7][1] = "891";imageArray[7][2] = "514";

imageArray[8] = new Array();
imageArray[8][0] = "BLK8.jpg"; imageArray[8][1] = "410";imageArray[8][2] = "520";

addLoadEvent(makeImageGroups("BRZ","BRVL"));
</script>
</body>
</html>
thanks
johnny_n is offline   Reply With Quote
Old 12-20-2007, 03:05 PM   PM User | #2
Arty Effem
Banned

 
Join Date: May 2006
Location: England
Posts: 664
Thanks: 0
Thanked 84 Times in 84 Posts
Arty Effem can only hope to improve
Quote:
Originally Posted by johnny_n View Post
Hello all

I have used a function from Jeremy Keith's book, "dom scripting" , the function is used to add extra functions to the window.onload event.

the problem is I get a "error : not implemented" error in IE, no errors in firefox.

Code:
addLoadEvent(makeImageGroups("BRZ","BRVL"));
Try addLoadEvent(function(){makeImageGroups("BRZ","BRVL")});
Arty Effem is offline   Reply With Quote
Old 12-20-2007, 03:39 PM   PM User | #3
johnny_n
New to the CF scene

 
Join Date: Dec 2007
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
johnny_n is an unknown quantity at this point
thanks Arty,

it worked with your corrections, I love dom.
johnny_n is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

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

Forum Jump


All times are GMT +1. The time now is 07:58 AM.


Advertisement
Log in to turn off these ads.