• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Layer und z-Index

PHP-B-GINNA

New member
Hm - ich habe ein kleines Problem mit layern....

irgendwie funktioniert der "z-index" nicht so richtig!

ich habe erst folgendes versucht:
2 Layer befinden sich an derselben Stelle (ergo sie überdeckn sich) nun habe ich versucht, die Layer zu ordnen - also mit z-index versehn - hat hat sich trotz verändertem Z-index nichts getan - die Layer mit dem niedrigen z-index lag immer über der Layer mit hohem z-index. erst, als ich dn z-index auf -1 gesetzt habe, verschwand die Layer endlich - schon seltsam oder?

So, nun lasse ich eben jene "verdeckte" Layer unter der oberen "hervorgleiten". Nun sollen die z-index wieder getauscht werden - werden sie aber nicht! bzw werden sie schon, denn wenn ich sie mir ausgeben lasse, stimmen die werte - nur die Anzeige stimmt nicht!

sind da irgendwelche Probleme bekannt? (ich erinnere mich, dass hier ein "windows-clone" vorgestellt wurde - der basiert doch auf auf dem z-index der layer.

hier mal ein bischen Quelltext:
PHP:
---8<----------------------------------------------------------------------------
<script>
     harton = false; // ist die UnterLayer "hart" schon "aufgescrollt"?

     bereichOpenOffset = 313;
     bereichClosedOffset = 215;
     startHeight = 1;
     hartHeight = 88; // höhe der OberLayer "hart"


     function slide(gf)
     {
       if(gf == "hart")
       {
         if(harton == true)
         {
           harton = false;
           slide_out("hart",bereichOpenOffset,hartHeight);
         }
         else
         {
           harton = true;
           top.main.document.all[gf].style.visibility = "visible";
           slide_in("hart",bereichClosedOffset,startHeight);
         }
       }
...
     }



     function slide_in(div,scrollOffset,Height)
     {
      top.main.document.all[div].style.top = scrollOffset;
      scrollOffset++;
      if(scrollOffset > bereichOpenOffset)
      {
       top.main.document.all["bodo"].style.zindex = "-1";
       top.main.document.all[div].style.zindex = "31";
       scrollOffset = bereichOpenOffset;
       Height++;
      }
      if((div == "hart")&&(Height <= hartHeight) || (....))
      {
       top.main.document.all[div].style.height = Height;
       top.main.window.setTimeout("slide_in('"+div+"',"+scrollOffset+","+Height+")",0);
      }
      else
      {
       top.main.document.all[div].style.filter = "Alpha(opacity=100, finishopacity=100, style=2);";
      }
     }

....
</script>

<div id="gf" style="z-index:30;">
                  <table border=0 cellspacing=0 cellpadding=0 width=500>
                    <tr>
                      <td valign=top>
testtext
                      </td>
                    </tr>
                  </table>
</div>
<div id="bodo" style="z-index:30">
                  <table border=0 cellspacing=0 cellpadding=0 width=500>
                    <tr>
                      <td colspan=2 align=center valign=top>
text
                      </td>
                     </tr>
                   </table>
</div>

<div id="hart" style="position:absolute; top:215; left:161; width:228px; height:1px; overflow:hidden; visibility: visible; z-index:-1; filter: Alpha(opacity=100, finishopacity=100, style=2);">
                  <table border=0 cellspacing=0 cellpadding=0 width=228>
                    <tr>
                      <td valign=top>
SubLayer
                      </td>
                    </tr>
                  </table>
</div>


---------------------------------------------------------------------------->8---
 
also soviel ahnung hab ich davon nun auch nicht.....was du da machen willst.........


aber wenn z-index so geschrieben wird.....ich weis nicht muss es dann nicht so auch angegeben werden??

top.main.document.all["bodo"].style. zindex = "-1";
 
Nope…

… ind Javascript darf kein "-" in einem namen vorkommen oder so - deshalb wird aus "z-index" => "zindex" is nunmal so

wie gesagt - zuweisen tut er ja (wenn ich mir mit alert den z-index ausgeben lasse, dann stimmt er)
aber irgendwie klappt dann die Darstellung nicht :(
 
mmm...okay.....
was stellt er denn nicht dar und was soll er den wenn ich fragen darf??

und
top.main.document.all[div].style.zindex = "31";
warum hast du 31 geschrieben??
wenn du auch bei -1 den z-index im letzten div mit -1 benennst....
muss das obere div dann auch nicht 30 sein??

aber jetzt hab ich gepeilt was das werden soll ein pop up menu das beim verlassen denn wieder tranzparent wird......oder doch nicht??
 
Zum Heulen!!!

naja mit deiner Vermutung hast du fast recht - nicht ganz so -
es soll eine art Untermenü werden

es ist für die Firma - die Chefs haben eine Art "Visitenkarte" und wenn man auf "Bereiche an/aus" klickt, wird dann die versteckte Layer reingescrollt / rausgescrollt.

ABER ICH HABE DIE LÖSUNG GEFUNDEN!!!!

statt "zindex" schreibe man "zIndex" - *heul*
es funzt

achja - hier hab ich des Rätsels lösung gefunden:
MSDN

Trotzdem danke =)
 
Trotzdem noch was…

… hat jemand 'ne Ahnung, wie ich scrolling bei Layers beschleuningen soll heissen:

ich änder mit JavaScript dynamisch die »...style.top«-Werte bzw »...style.left«-Werte - dadurch kann ich die Layer bewegen.

nun mußte ich leider festellen, dass duch iterativen Aufruf:

function bla()
{
...
windows.setTimeout("bla()",1);
}

das ganze verdammt langsam ist, auch wenn ich den TimeOut auf 0 setze...
Da dachte ich "hey änder die Koordinaten nicht nur um 1 sondern um 2 bei jeder Iteration" - denkste dann hat es auch noch geruckelt *heul*

- selbes tritt beim dynamischen Ändern des Alpha-filters auf

WARUM IST JAVASCRIPT SO LAHM?
 
Weil der Browser so lahm ist.
Bei mir bwegen sich die Fenster immer mit so 5 Pixeln pro Aufruf.
Ganz eventuell kannst du einfach mehrere Timeouts setzten, mit einer Verzögerung von 2 und 3 Millisekunden.
Dann wird's schneller, ist aber nicht die feine Art.
 
also Leute.... wisst ihr eigentlich wie wenig 1ms für eine Skriptsprache wie JS ist?? Noch dazu, wenn sie in einer Umgebung wie einem Browser läuft..... tztztz

mal so zum Überlegen: Ein Film mit 25 Bildern pro Sekunde braucht z.B. nur alle 40 ms ein Bild!!!
 
Der schafft es aber leider nicht, dass so schnell auszuführen.
1ms ist schwachsinn, kriegt der eh nicht hin.
 
Zurück
Oben