Anzeige

while schleife langsam öffnen

while schleife langsam öffnen | PSD-Tutorials.de

Erstellt von paminia, 21.06.2009.

  1. paminia

    paminia Noch nicht viel geschrieben

    Dabei seit:
    13.01.2009
    Beiträge:
    25
    Geschlecht:
    weiblich
    Ort:
    Hamburg
    Software:
    PSPad
    while schleife langsam öffnen
    Hallo, möchte meine div´s langsam öffnen. Allerdings reagiert meine while schleife nicht. Was ist denn daran falsch? könnte mir jemand weiterhelfen?

    HTML:
    1.  
    2. <script type="text/javascript">
    3.  
    4.  
    5. function elementfader(das) {
    6.  
    7.  if (document.getElementById(das).style.display=='none')
    8.  {document.getElementById(das).style.display='block';}
    9.  else {
    10.   document.getElementById(das).style.display='none';
    11.  
    12. var breite=0;
    13. var hoehe=0;
    14. var maxbreite=200;
    15. var maxhoehe=200;  
    16.  
    17. while (breite >='maxbreite') {
    18.   getElementById().style.width='breite';
    19.   getElementById().style.height='hoehe';
    20.  
    21.   breite=breite +1;
    22.   hoehe=hoehe +1;
    23. }  
    24.  
    25.  }
    26.  
    27. }
    28.  
    29.  
    30. <a href="javascript:elementfader('eins')">Home</a>
    31. <div style="display: none;background-color:#b6b6b6;width:68px; height:60px;" align="center" id="eins" >
    32.  
    33.   <ul>
    34.     <li><a href="#">hallo</a></li>
    35.     <li>hallo</li>
    36.     <li>hallo</li>
    37.   </ul>
    38. </div>
    39.  
    40.  
    41.  
     
    #1      
  2. Gweb

    Gweb Nicht mehr ganz neu hier

    Dabei seit:
    05.01.2009
    Beiträge:
    207
    Geschlecht:
    männlich
    Ort:
    Hattingen
    Software:
    CC Abo
    Kameratyp:
    Canon EOS 70D
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    wahrscheinlich soll es heissen
    while (breite <='maxbreite') {
     
    #2      
  3. sokie

    sokie Mod | Web

    Dabei seit:
    23.03.2008
    Beiträge:
    5.338
    Geschlecht:
    männlich
    Ort:
    Bünde NRW
    Software:
    <br>COREL <br> Texteditor
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    bei darstellungen "animationen" mit Zeitverzögerung kommt man mit den Methoden setInterval() oder detTimeout() zum Ergebnis: SELFHTML: JavaScript / Objektreferenz / window

    in der while-schleife muss der rechner zwar sie schritte durchgehen, aber dargestellt wird nur das Ergebnis.

    um das browserübergreifend sicher zu machen, würde ich aber auf ein Framework zurückgreifen, wie zB jquery, dass solche Funktionalitäten bereitstellt.

    zB UI/Effects/Scale - jQuery JavaScript Library
     
    Zuletzt bearbeitet: 21.06.2009
    #3      
  4. paminia

    paminia Noch nicht viel geschrieben

    Dabei seit:
    13.01.2009
    Beiträge:
    25
    Geschlecht:
    weiblich
    Ort:
    Hamburg
    Software:
    PSPad
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    Also das habe ich eben auch schon versucht, aber er will nicht.
     
    #4      
  5. paminia

    paminia Noch nicht viel geschrieben

    Dabei seit:
    13.01.2009
    Beiträge:
    25
    Geschlecht:
    weiblich
    Ort:
    Hamburg
    Software:
    PSPad
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    Ich schau mir die Seite mal an. Danke dir.
     
    #5      
  6. paminia

    paminia Noch nicht viel geschrieben

    Dabei seit:
    13.01.2009
    Beiträge:
    25
    Geschlecht:
    weiblich
    Ort:
    Hamburg
    Software:
    PSPad
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    DIe SelfHtml seite zeigt nur an wie es mit den Farben funktioniert. Ich komm damit leider nicht weiter. Google ist leider auch keine große hilfe, es sei den ich suche zwei wochen nach ;)
     
    #6      
  7. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    Wozu maxbreite in Hochkommas?
     
    #7      
  8. paminia

    paminia Noch nicht viel geschrieben

    Dabei seit:
    13.01.2009
    Beiträge:
    25
    Geschlecht:
    weiblich
    Ort:
    Hamburg
    Software:
    PSPad
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    also ich habe es in ' in " oder ohne versucht. Keins von allem geht. Ich weiß nun leider nicht ob ich es komplett falsch geschrieben habe
     
    #8      
  9. sbehrendt

    sbehrendt Guest

    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    Hast du schon zweimal hintereinander auf Home geklickt?
    Deinem Code nach sollte die while-Schleife / der else-Zweig erst beim 2ten Aufruf ausgeführt werden.

    Was es auch noch zu beachten gillt: JavaScript wird Client-seitig ausgeführt --> die Verarbeitungszeit ist von Client zu Client unterschiedlich
     
    #9      
  10. cebito

    cebito undefined

    262
    Dabei seit:
    08.03.2008
    Beiträge:
    8.316
    Geschlecht:
    männlich
    Ort:
    Dresden
    Kameratyp:
    zum durchgucken
    while schleife langsam öffnen
    AW: while schleife langsam öffnen

    Was mir auffällt, du (gerade als Anfänger - aber auch für später) solltest dir unbedingt angewöhnen Struktur in deinen code zu bringen um die Übersicht zu behalten. Deine While-Schleife bspw. befindet sich im else-Zweig - selbst wenn sie funktionieren würde, würde es keiner sehen, da der div auf display:none; steht. Auch wird dort kein Element angesprochen: getElementById().style.width='breite'; richtig wäre: document.getElementById(das).style.width in der Klammer die ID des angesprochenen Elements sonst weiß JS garnicht, wo es deine Anweisungen ausführen soll. Nach der else folgen drei schließende "}" eine für den else-Zweig, eine für die function, wofür ist die dritte? Wenn du ordentlich einrückst und die Klammern nicht so wie oben vorn und hinten dranklatschst sondern auf Höhe deiner Einrückung in eine eigene Zeile machst, ist sowas leichter zu vermeiden. Vor allem wenn du mal was größeres machen willst.

    Und jetzt noch ein Beispiel wie es geht - ordentlich und übersichtlich ;):

    Code (Text):
    1.  
    2. <script type="text/javascript">
    3. var breite=0;
    4. var hoehe=0;
    5. var maxbreite=200;
    6.  
    7. function elementfader(das) {
    8.     breite += 1;
    9.     hoehe += 2;
    10.     if (breite < maxbreite) {
    11.         document.getElementById(das).style.width = breite + 'px';
    12.         document.getElementById(das).style.height = hoehe + 'px';
    13.         window.setTimeout(function(){elementfader(das)}, 10);
    14.         }
    15. }
    16. </script>
    17.  
    Für den div notierst du:

    Code (Text):
    1.  
    2. <div id="eins" style="display:block; background-color:#b6b6b6;[COLOR=Black][COLOR=#000080][COLOR=#0000FF][/COLOR][/COLOR][/COLOR] width:0; height:0; overflow:hidden;">
    3.  
    overflow:hidden, damit die List mit dem div "mitwächst", kannst du ja mal versuchsweise weglassen. Ansonsten nimm den code und versuch dich mal dran, lass den div wieder einfahren usw. etc. pp.
     
    #10      
x
×
×