PDA

View Full Version : DHTML NS problem...


BABBA
2000-05-14, 16:54
Jag har problem med följande kod:

<script language="Javascript">

text = new Array("B","A","B","B","A"," ","N","I","S","S","E");
a = text.length - 1;

var ie = (document.all) ? true:false;
var ns = (document.layers) ? true:false;

function init()
{
// Initializing variables
html = "";
if(ie)
{
vis = 'hidden';
layer = "span";
}
if(ns)
{
vis = 'hide';
layer = "layer";
}
for(i=0; i<text.length; i++)
{
html += "<"+layer+" id=\"text["+i+"]\" style='position:absolute;top:200;left:0;visibility:"+vis+";' class=\"text\">" + text[i] + "</" + layer + ">";
}
return html;
}

function texten()
{

max_y = 400;
letter_spacing = 20;
control = new Array();
layer = String("text["+a+"]");
for(i=0; i<text.length; i++) control[i] = max_y - letter_spacing*(text.length-i);

if(ie)
{
document.all[layer].style.visibility = 'visible';
ypos = parseInt(document.all[layer].style.top);
xpos = parseInt(document.all[layer].style.left);
}
if(ns)
{
document.layers[layer].visibility = 'show';
ypos = parseInt(document.layers[layer].top);
xpos = parseInt(document.layers[layer].left);
}

if(xpos<=control[a])
{
if(ie) document.all[layer].style.left = xpos + 10;
if(ns) document.layers[layer].left = xpos + 10;
setTimeout("texten()",1);
}
else
{
if(a>0)
{
a--;
setTimeout("texten()",1);
}

}

}


</script>

Problemen är att visibility inte funkar i NS, lagrerna positioneras ej och första bokstaven i den text jag skriver ut behandlas inte på något sätt.

Sriptet skickar in bokstäver från vänster till höger och börjar med sista bokstaven.

( Jag aktiverar det genom init() och document.write(html), kör sedan funktionen texten() )

Det funkar perfa i IE.

------------------
BABBA

http://www.babba.f2s.com