shivboy
11-01-2002, 05:50 AM
hi,
i am using the following code to create cross-browser objects. its fine if i want to instantiate and create a few layers...but what if i want to create say 30 layers (with same style)? i ran a for... loop but instead of creating layers it simply wrote the whole code on the page. why so? im posting the code below, plz help me with it. thanx.
<html>
<head>
<title></title>
<style>
.oStyle {position:absolute;visibility:visible;}
</style>
<script language="JavaScript">
<!--
/////////////////////////////////////////DETECTING BROWSER TYPE\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function browserSniff()
{
this.ver = navigator.appVersion; //Cheking for browser version
this.agent = navigator.userAgent; //Checking for browser type
this.dom = document.getElementById?1:0; //Checking if IE5+ & NS6+
this.opera5 = this.agent.indexOf("Opera 5")>-1; //Opera detection
this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; //Checking if IE5
this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; //Checking if IE6
this.ie4 = (document.all && !this.dom && !this.opera5)?1:0; //Checking if IE4
this.ie = this.ie4||this.ie5||this.ie6; //One common variable for IE detection
this.mac = this.agent.indexOf("Mac")>-1; //If IE for Mac
this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0; //If NS6
this.ns4 = (document.layers && !this.dom)?1:0; //If NS4
this.bs = (this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5); //Assigning browser sniffed to variable bs.
return this;
}
// Generating a simple browser sniffing object bs
var bs = new browserSniff();
function layerCreate(name,pos,top,left,t,r,b,l,visibility,color,z)
{
if(bs.dom)
{
this.obj = document.getElementById(name).style;
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.height = b;
this.obj.width = r;
//this.obj.clip = "rect("+t+"px,"+r+"px,"+b+"px,"+l+"px)";
this.obj.backgroundColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
else if(bs.ie4)
{
this.obj = document.all[name].style;
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.height = b;
this.obj.width = r;
this.obj.backgroundColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
else if(bs.ns4)
{
this.obj = document.layers[name];
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.clip.top = t;
this.obj.clip.right = r;
this.obj.clip.bottom = b;
this.obj.clip.left = l;
this.obj.bgColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
}
var cOff = "#5D5D5D";
var cOn = "#FF6600";
var pageW,pageH;
function pageInit()
{
if(bs.ns4||bs.ns6)
{
pageW = innerWidth;
pageH = innerHeight;
}
else if(bs.ie4||bs.ie5||bs.ie6)
{
pageW = document.body.clientWidth;
pageH = document.body.clientHeight;
}
var p = 5;
oDiv = new layerCreate('sDiv','absolute',pageH/2-250,pageW/2-300,0,600,500,0,'visible',cOff,0);
for(i=0;i<30;i++)
{
document.write("oDiv"+i+" = new layerCreate('div"+i+"','absolute',,parseInt(oDiv.top)+5,parseInt(oDiv.left)+"+p+",0,14,14,0,'visible',cOn,2);");
p += 15;
}
}
onload=pageInit;
//--></script>
</head>
<body bgcolor="black">
<div id="sDiv" class="oStyle">
</div>
<div id="div0" class="oStyle">
<span></span>
</div>
<div id="div1" class="oStyle">
<span></span>
</div>
<div id="div2" class="oStyle">
<span></span>
</div>
<div id="div3" class="oStyle">
<span></span>
</div>
<div id="div4" class="oStyle">
<span></span>
</div>
<div id="div5" class="oStyle">
<span></span>
</div>
<div id="div6" class="oStyle">
<span></span>
</div>
<div id="div7" class="oStyle">
<span></span>
</div>
<div id="div8" class="oStyle">
<span></span>
</div>
<div id="div9" class="oStyle">
<span></span>
</div>
<div id="div10" class="oStyle">
<span></span>
</div>
<div id="div11" class="oStyle">
<span></span>
</div>
<div id="div12" class="oStyle">
<span></span>
</div>
<div id="div13" class="oStyle">
<span></span>
</div>
<div id="div14" class="oStyle">
<span></span>
</div>
<div id="div15" class="oStyle">
<span></span>
</div>
<div id="div16" class="oStyle">
<span></span>
</div>
<div id="div17" class="oStyle">
<span></span>
</div>
<div id="div18" class="oStyle">
<span></span>
</div>
<div id="div19" class="oStyle">
<span></span>
</div>
<div id="div20" class="oStyle">
<span></span>
</div>
<div id="div21" class="oStyle">
<span></span>
</div>
<div id="div22" class="oStyle">
<span></span>
</div>
<div id="div23" class="oStyle">
<span></span>
</div>
<div id="div24" class="oStyle">
<span></span>
</div>
<div id="div25" class="oStyle">
<span></span>
</div>
<div id="div26" class="oStyle">
<span></span>
</div>
<div id="div27" class="oStyle">
<span></span>
</div>
<div id="div28" class="oStyle">
<span></span>
</div>
<div id="div29" class="oStyle">
<span></span>
</div>
<div id="div30" class="oStyle">
<span></span>
</div>
</body>
</html>
i am using the following code to create cross-browser objects. its fine if i want to instantiate and create a few layers...but what if i want to create say 30 layers (with same style)? i ran a for... loop but instead of creating layers it simply wrote the whole code on the page. why so? im posting the code below, plz help me with it. thanx.
<html>
<head>
<title></title>
<style>
.oStyle {position:absolute;visibility:visible;}
</style>
<script language="JavaScript">
<!--
/////////////////////////////////////////DETECTING BROWSER TYPE\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function browserSniff()
{
this.ver = navigator.appVersion; //Cheking for browser version
this.agent = navigator.userAgent; //Checking for browser type
this.dom = document.getElementById?1:0; //Checking if IE5+ & NS6+
this.opera5 = this.agent.indexOf("Opera 5")>-1; //Opera detection
this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; //Checking if IE5
this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; //Checking if IE6
this.ie4 = (document.all && !this.dom && !this.opera5)?1:0; //Checking if IE4
this.ie = this.ie4||this.ie5||this.ie6; //One common variable for IE detection
this.mac = this.agent.indexOf("Mac")>-1; //If IE for Mac
this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0; //If NS6
this.ns4 = (document.layers && !this.dom)?1:0; //If NS4
this.bs = (this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5); //Assigning browser sniffed to variable bs.
return this;
}
// Generating a simple browser sniffing object bs
var bs = new browserSniff();
function layerCreate(name,pos,top,left,t,r,b,l,visibility,color,z)
{
if(bs.dom)
{
this.obj = document.getElementById(name).style;
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.height = b;
this.obj.width = r;
//this.obj.clip = "rect("+t+"px,"+r+"px,"+b+"px,"+l+"px)";
this.obj.backgroundColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
else if(bs.ie4)
{
this.obj = document.all[name].style;
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.height = b;
this.obj.width = r;
this.obj.backgroundColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
else if(bs.ns4)
{
this.obj = document.layers[name];
this.obj.position = pos;
this.obj.top = top;
this.obj.left = left;
this.obj.clip.top = t;
this.obj.clip.right = r;
this.obj.clip.bottom = b;
this.obj.clip.left = l;
this.obj.bgColor = color;
this.obj.vis = visibility;
this.obj.zIndex = z;
return this.obj;
}
}
var cOff = "#5D5D5D";
var cOn = "#FF6600";
var pageW,pageH;
function pageInit()
{
if(bs.ns4||bs.ns6)
{
pageW = innerWidth;
pageH = innerHeight;
}
else if(bs.ie4||bs.ie5||bs.ie6)
{
pageW = document.body.clientWidth;
pageH = document.body.clientHeight;
}
var p = 5;
oDiv = new layerCreate('sDiv','absolute',pageH/2-250,pageW/2-300,0,600,500,0,'visible',cOff,0);
for(i=0;i<30;i++)
{
document.write("oDiv"+i+" = new layerCreate('div"+i+"','absolute',,parseInt(oDiv.top)+5,parseInt(oDiv.left)+"+p+",0,14,14,0,'visible',cOn,2);");
p += 15;
}
}
onload=pageInit;
//--></script>
</head>
<body bgcolor="black">
<div id="sDiv" class="oStyle">
</div>
<div id="div0" class="oStyle">
<span></span>
</div>
<div id="div1" class="oStyle">
<span></span>
</div>
<div id="div2" class="oStyle">
<span></span>
</div>
<div id="div3" class="oStyle">
<span></span>
</div>
<div id="div4" class="oStyle">
<span></span>
</div>
<div id="div5" class="oStyle">
<span></span>
</div>
<div id="div6" class="oStyle">
<span></span>
</div>
<div id="div7" class="oStyle">
<span></span>
</div>
<div id="div8" class="oStyle">
<span></span>
</div>
<div id="div9" class="oStyle">
<span></span>
</div>
<div id="div10" class="oStyle">
<span></span>
</div>
<div id="div11" class="oStyle">
<span></span>
</div>
<div id="div12" class="oStyle">
<span></span>
</div>
<div id="div13" class="oStyle">
<span></span>
</div>
<div id="div14" class="oStyle">
<span></span>
</div>
<div id="div15" class="oStyle">
<span></span>
</div>
<div id="div16" class="oStyle">
<span></span>
</div>
<div id="div17" class="oStyle">
<span></span>
</div>
<div id="div18" class="oStyle">
<span></span>
</div>
<div id="div19" class="oStyle">
<span></span>
</div>
<div id="div20" class="oStyle">
<span></span>
</div>
<div id="div21" class="oStyle">
<span></span>
</div>
<div id="div22" class="oStyle">
<span></span>
</div>
<div id="div23" class="oStyle">
<span></span>
</div>
<div id="div24" class="oStyle">
<span></span>
</div>
<div id="div25" class="oStyle">
<span></span>
</div>
<div id="div26" class="oStyle">
<span></span>
</div>
<div id="div27" class="oStyle">
<span></span>
</div>
<div id="div28" class="oStyle">
<span></span>
</div>
<div id="div29" class="oStyle">
<span></span>
</div>
<div id="div30" class="oStyle">
<span></span>
</div>
</body>
</html>