+ Antworten
Ergebnis 1 bis 10 von 10

Thema: setInterval DIV bewegen IE Problem

  1. #1
    Franticc ist offline Grünschnabel Franticc befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    5

    setInterval DIV bewegen IE Problem

    Hallo zusammen,

    Ich habe eine kleine Funktion geschrieben die mir per setInterval einen Div sowohl bewegt als auch gleichzeitig die Größe ändert um diesen quasi einzuklappen. Im FF funktioniert das auch wunderbar, im IE 6 und 7 allerdings scheint die setInterval methode gar nicht aufgerufen zu werden und ich hab leider nach längerem Suchen/Googlen keine Ahnung warum.

    Hier mal das Javascript:
    PHP-Code:
    <script language="javascript" type="text/javascript">
    var 
    z;

    function 
    switchnav(direction){
        
    navobj document.getElementById('navicontainer');
        if(
    direction == 'in'){
            
    window.setInterval("toggle('in')",'0');
        }else{
                
    navobj.style.left parseInt(navobj.offsetLeft) - 20 'px';
            
    window.setInterval("toggle('out')",'0');
        }
    }

    function 
    toggle(direction){
        
    navobj document.getElementById('navicontainer');
        if(
    direction == 'in'){
            if(
    parseInt(navobj.offsetLeft) < 20){
                
    navobj.style.width parseInt(navobj.offsetWidth) - 10 'px';
                
    navobj.style.left parseInt(navobj.offsetLeft) + 10 'px';
            }else{
                
    window.clearInterval(z);
            }
        }else{
            if(
    parseInt(navobj.offsetLeft) > -180){
                
    navobj.style.left parseInt(navobj.offsetLeft) - 10 'px';
                
    navobj.style.width parseInt(navobj.offsetWidth) + 10 'px';
            }else{
                
    window.clearInterval(z);
            }
        }        

    }
    </script> 
    und hier noch der link zu der Seite ums zu testen: Unbenanntes Dokument

    bin für jede Hilfe dankbar.

    Grüße
    Franticc

    edit: grad ma kurz safari gezogen. Damit funktionierts auch einwandfrei...
    Geändert von Franticc (16-06-2008 um 16:54 Uhr)

  2.    Empfehlenswerte Literatur von unserem Partner Terrashop

    Das AJAX Kompendium jetzt 84% Rabatt
    Ajax - der Technologiemix aus JavaScript und XML - ist eines der Kernstücke professioneller Web 2.0-Programmierung. Dieses Buch führt Sie auf über 800 Seiten(!) von den ersten JavaScript-Codezeilen bis zur Entwicklung mit Ajax-Frameworks.

    Preis: früher: 49,95€ - jetzt nur: 7,95€

    Hier geht es direkt zum Buch

    Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!

  3. #2
    Franticc ist offline Grünschnabel Franticc befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    5

    AW: setInterval DIV bewegen IE Problem

    keiner ne Idee?
    Oder is meine Frage so dumm / schlecht gestellt daß keiner lust hat zu antworten?
    .
    .
    .
    .
    Geändert von Franticc (16-06-2008 um 18:30 Uhr)

  4. #3
    hesst ist offline Foren-Gott hesst befindet sich auf einem aufstrebenden Ast
    registriert
    19-05-2008
    Beiträge
    2.934

    AW: setInterval DIV bewegen IE Problem

    wieviel Aufrufe hab ich denn mit setInterval(func, 0); pro Sekunde?

  5. #4
    hankjones ist offline Grünschnabel hankjones befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    6

    AW: setInterval DIV bewegen IE Problem


  6. #5
    Franticc ist offline Grünschnabel Franticc befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    5

    AW: setInterval DIV bewegen IE Problem

    danke erstmal @hankjones. Sieht aus als träfe es der Artikel. Allerdings verstehe ich ihn glaube ich nicht 100%ig. Der Kerl schreibt der IE würde die referenz nach dem ersten aufruf aufs window object legen, right? Aber das stimmt doch so auch dachte ich. Allerdings is mein Englisch auch nicht so burner.
    Weiss zumindest jetzt trotzdem nicht wo der Fehler is. Kannst du mir evtl nen kurzes Beispiel anhand meines geposteten Quellcodes schreiben? wäre klasse *duck* ^^

    @hesst
    mit diesem Aufruf sollte das ganze eigentlich 1000x /sec ausgeführt werden. Hab ich halt logischerweise gemacht um ne fliessende Bewegung zu bekommen.

  7. #6
    Avatar von Albu
    Albu ist offline Super Moderator Albu befindet sich auf einem aufstrebenden Ast
    registriert
    04-07-2001
    Beiträge
    12.333

    AW: setInterval DIV bewegen IE Problem

    Zitat Zitat von Franticc Beitrag anzeigen
    mit diesem Aufruf sollte das ganze eigentlich 1000x /sec ausgeführt werden. Hab ich halt logischerweise gemacht um ne fliessende Bewegung zu bekommen.
    Kein Browser oder Internet Explodierer kann diese 1000 Ausführungen pro Sekunde hinbekommen. Es sind nämlich keine Echtzeit-Betriebssysteme.

    Außerdem hast Du vielleicht schon mal gehört, dass das menschliche Auge maximal 25 Bilder in der Sekunde verarbeiten kann. Wenn es also ein Browser (oder Internet Explodierer) schaffen würde, Deine Bewegung um ein Pixel alle Millisekunde auszuführen, dann würde es für Dich trotzdem so wirken, als wenn Dein Objekt mit jedem Bild 40 Pixel hüpft. Also kannst Du es auch gleich so auslegen.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  8. #7
    Franticc ist offline Grünschnabel Franticc befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    5

    AW: setInterval DIV bewegen IE Problem

    Zitat Zitat von Albu Beitrag anzeigen
    Kein Browser oder Internet Explodierer kann diese 1000 Ausführungen pro Sekunde hinbekommen. Es sind nämlich keine Echtzeit-Betriebssysteme.

    Außerdem hast Du vielleicht schon mal gehört, dass das menschliche Auge maximal 25 Bilder in der Sekunde verarbeiten kann. Wenn es also ein Browser (oder Internet Explodierer) schaffen würde, Deine Bewegung um ein Pixel alle Millisekunde auszuführen, dann würde es für Dich trotzdem so wirken, als wenn Dein Objekt mit jedem Bild 40 Pixel hüpft. Also kannst Du es auch gleich so auslegen.
    da hast du natürlich recht.
    Ich hatte nur bisher keinen Grund es zu ändern. Wäre aber natürlich korrekter so.

  9. #8
    hesst ist offline Foren-Gott hesst befindet sich auf einem aufstrebenden Ast
    registriert
    19-05-2008
    Beiträge
    2.934

    AW: setInterval DIV bewegen IE Problem

    Zitat Zitat von Franticc Beitrag anzeigen
    da hast du natürlich recht.
    Ich hatte nur bisher keinen Grund es zu ändern. Wäre aber natürlich korrekter so.
    Dann ändere es mal, starte den IE und schau mal ob das ein Grund ist.
    SELFHTML: JavaScript / Objektreferenz / window
    Wert in Millisekunden bis zum nächsten Ausführen

  10. #9
    Franticc ist offline Grünschnabel Franticc befindet sich auf einem aufstrebenden Ast
    registriert
    16-06-2008
    Beiträge
    5

    AW: setInterval DIV bewegen IE Problem

    gelöst.

    man tausche: window.setInterval
    gegen: window['set' + 'Interval']
    und schon gehts.
    Danke dabei an hankjones. Mit deinem Suchstring hab ich noch paar andere Lösungsansätze gefunden. Unter anderem diesen^^

    @ Albu und hesst:
    daß das nicht das problem ist war klar. Und unter anderem hab ich auch mal probiert den wert auf 40 ms zu setzen was dann 25 bildern/sec entsprechen würde und man sieht dabei sehr deutliche sprünge. bei 10 ms isses flüssig.
    Nur so nebenbei
    Denke das thema kann damit geschlossen werden.

    Danke für die beteiligung.
    Grüße
    Frantixx

  11. #10
    Avatar von ein schlauer
    ein schlauer ist offline Lounge-Member ein schlauer befindet sich auf einem aufstrebenden Ast
    registriert
    18-08-2004
    Ort
    Mainz
    Beiträge
    10.944

    AW: setInterval DIV bewegen IE Problem

    Zitat Zitat von Franticc Beitrag anzeigen
    gelöst.

    man tausche: window.setInterval
    gegen: window['set' + 'Interval']
    und schon gehts.
    Das ist Quatsch. Aber man tausche den String "0" gegen z.b. 1, schon geht der Orginal Code auch im IE.

+ Antworten

Ähnliche Themen

  1. Problem mit div/onMouseOut
    Von Flashfunk im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 30-07-2007, 13:52
  2. Problem mit div block einblenden
    Von cs-wd im Forum JavaScript
    Antworten: 8
    Letzter Beitrag: 04-03-2007, 10:28
  3. IE Problem
    Von wirkungsquantum im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 27-02-2007, 19:17
  4. Problem mit Table und Div
    Von trisomie im Forum CSS und (X)HTML
    Antworten: 2
    Letzter Beitrag: 30-12-2005, 13:56
  5. DIV onClick Problem
    Von alibär im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 03-11-2004, 10:56

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein