hambam: läuft nur unter NC, nicht unter IE (mal zur Abwechslung?)

Beitrag lesen

Hallo Forummer,

wie ihr am Thread-Titel merkt, ich bin eher so ein Netsie und programmiere "erstmal" für
den Netsie und dann versuche ich das ganze auf den IE zu bringen.
Was für den einen in die eine Richtung schwer ist, ist für mich die Richtung IE.
Naja, aber da beiß ich mich nun (mit Eurer Hilfe, hoffentlich) durch.
Achja, es geht mir in erster Linie darum, daß das Script läuft und nicht, ob es so optimiert ist,
ob es anders auch viiiieeeel besser geht oder so, sondern reine Funktion.

Hier mein(e) Problemchen:

1.

Wie gesagt die Abschnitte im document.layers laufen, aber bei document.all klappts nicht
mit dem zIndex. In dem Fall laufen farbige Balken hoch und runter, nur einmal über und einmal
unter einem zweiten Layer (Grafik-Logo). (Netsie wie zuvor OK)

function animate_it() {
for (j = 4; j > 0; j--) {
  if (document.layers) {
   document["balken"+j].top = ypos + Math.sin(currstep+.5*(j-1))*55;
  } else if (document.all) {
   document.all["balken"+j].style.top = ypos + Math.sin(currstep+.5*(j-1))*55;
  }
  currstep += .05;
  if (document.layers) {
   if (document["balken"+j].top >= ypos+53) {
    if (document["balken"+j].zIndex < 100) document["balken"+j].zIndex += 10;
   }
   if (document["balken"+j].top <= ypos-53) {
    if (document["balken"+j].zIndex > 100) document["balken"+j].zIndex -= 10;
   }
  } else if (document.all) {
   if (document.all["balken"+j].style.top >= ypos+53) {
    if (document["balken"+j].style.zIndex < 100) document.all["balken"+j].style.zIndex += 10;
   }
   if (document.all["balken"+j].style.top <= ypos-53) {
    if (document.all["balken"+j].style.zIndex > 100) document.all["balken"+j].style.zIndex -= 10;
   }
  }
}
setTimeout("animate_it()",50);
}
animate_it()

2. (es handelt sich folgend um die entsprechenden Ausschnitte)

Bei der Zeile, die ich mit >> gekennzeichnet habe, bringt der liebe IE einen Fehler:

ungültiges Argument<<

<style>
<!--
.vorhang{
position:absolute;
left:0;
top:1;
width:100%;
height:100%;
layer-background-color:black;
background-color:black;
border:0.1px solid black;
}
.redline{
position:absolute;
left:0;
top:0;
width:100%;
height:1;
layer-background-color:red;
background-color:red;
border:0.1px solid red;
}
-->
</style>

<DIV id="redline" class="redline"></DIV>
<DIV id="vorhang" class="vorhang"></DIV>
<script language="JavaScript1.2">
var steps=10;
if (document.layers){
document.vorhang.clip.width = window.innerWidth;
document.vorhang.clip.height = window.innerHeight;
document.redline.clip.width = window.innerWidth;
document.redline.clip.height = 1;
}
else if (document.all){
document.all.vorhang.style.width = document.body.clientWidth;
document.all.vorhang.style.height = document.body.offsetHeight;
document.all.redline.style.width = document.body.clientWidth;
document.all.redline.style.height = 1;
}

function moving(){
window.scrollTo(0,0);
if (document.layers){
  document.redline.top += steps;
  document.vorhang.top += steps;
  document.vorhang.height -= steps;
  if (document.redline.top > window.innerHeight){
   clearInterval(timer);
  }
} else if (document.all) {
  document.all.redline.style.top += steps;
  document.all.vorhang.style.top += steps;

document.all.vorhang.style.height -= steps;

if (document.all.redline.style.top > document.body.offsetHeight){
   clearInterval(timer);
  }
}
}

function move_vorhang(){
timer=setInterval("moving()",10);
}
move_vorhang()

3. erzeugt beim IE auch wieder ungültiges Argument in Zeile 1

function jiggle() {
if (document.layers) {
  xpos = document.copyright.left;
  setTimeout("document.copyright.left = xpos+3" , 30);
  setTimeout("document.copyright.left = xpos-3" , 60);
  setTimeout("document.copyright.left = xpos+3" , 90);
  setTimeout("document.copyright.left = xpos-3" , 120);
  setTimeout("document.copyright.left = xpos" , 150);
} else if (document.all){
  xpos = document.all.copyright.style.left;
  setTimeout("document.all.copyright.style.left = xpos+3" , 30);
  setTimeout("document.all.copyright.style.left = xpos-3" , 60);
  setTimeout("document.all.copyright.style.left = xpos+3" , 90);
  setTimeout("document.all.copyright.style.left = xpos-3" , 120);
  setTimeout("document.all.copyright.style.left = xpos" , 150);
}
}

Hey, ich freu mich über jede Art von Hilfe!!!

hambam (mit ist bekannt, daß Nicks, nicht allzusehr beliebt sind, bin aber ein Dickkopf)