[MooTools] - Probleme mit 2 Plugins

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MooTools] - Probleme mit 2 Plugins

    Moin moin!
    Mal wieder was von mir:

    Hab ne Seite mit so nem Accordeon-Menü ausgestattet und wollte zusätzlich, dass die dort verwendeten Graphiken zuvor geladen werden. Beide Funktionen sind eigentlich für MooTools1.2, welche ich auch am Laufen habe.

    Beide Dinge funktionieren einzeln implementiert sehr gut, aber sobald ich beide in die Seite einstricke läuft's einfach nicht mehr!
    Genauer: Preload läuft bist zu 100%, danach stoppt alles mit "ellement is null" (@FF). Aktualisiert man die Seite im FireFox, klappt's dann plötzlich... ^^

    Ich hab schon viel rumexperimentiert -> Scripts von der Reihenfolge her vertauscht, betreffende DIVs von/nach den Scripten, usw... und ich vermute, dass auch hier irgendwo das Problem liegt. Darum würde ich jmd von euch bitten mal ein Auge drauf zu werfen und mich drauf hinzustoßen, denn ich bin hier am Verzweifeln...

    Gerne poste ich auch die Snippets einzeln wenn euch das lieber ist, aber vorab erstmal der Einfachkeit halber der Link zur Problemseite.

    Danke für eure Hilfe!
    Zuletzt geändert von nichtsooft; 10.05.2009, 17:15.
    WHILE (!$asleep) { $sheep++; }

  • #2
    Ich kenne mich nicht mit Mootools aus, aber ich habe da mal mit Firebug reingedebuggt. Solltest du das nächste mal direkt selbst machen.
    Jedenfalls baust dir in deiner onComplete-Funktion ein Element zusammen und rufst anschließend inject an diesem auf. Als Parameter übergibst du $('imgholder'+imgcnt), doch solch ein Element mit der ID imgholder0 gibt es nicht in deinem Dokument.

    Kommentar


    • #3
      Hi Desaster! THX für die Antwort! Die Virgehensweise ist mir bekannt und ich muß dazu sagen, dass es das besagte Element geben sollte und es im Quellcode auch vorhanden ist.

      PHP-Code:
              <DIV ID="slidemenu">
                  <
      P ID="imgholder0"></P>
                  <
      P ID="imgholder1"></P>
                  <
      P ID="imgholder2"></P>
                  <
      P ID="imgholder3"></P>
                  <
      P ID="imgholder4"></P>
                  <
      P ID="imgholder5"></P>
                  <
      P ID="imgholder6"></P>
              </
      DIV
      Im Original-Script geht man davon aus, dass man mehrere Bilder in ein DIV injectet, ich will aber jedes Bild in einem <P> haben, wesshalb ich mit $('imgholder'+imgcnt) eine kleine Veränderung vorgenommen habe.
      imgcnt (=imagecounter) zählt mit jedem Durchlauf mit und so komme ich auf die Zahlen 0 - 6 (siehe Snippet).

      Edit: Firebug installiert...
      Zuletzt geändert von nichtsooft; 09.05.2009, 12:37.
      WHILE (!$asleep) { $sheep++; }

      Kommentar


      • #4
        Ja, gibt es die Slideshow denn schon im Preloaderkontext? Wenn ich die Seite mit leerem Cache öffne und direkt die Skriptausführung abbreche, ergibt
        Code:
        document.getElementById('imgholder0')
        null.

        Kommentar


        • #5
          Nur... Wie bekomm ich den den DIV mit den einzelnen Ps vor dem Script geladen, wenn ich das betreffende Script nur im HEAD einsetzen kann!?

          Edit: Ich bekomm's einfach nicht geladen! PLS Help!
          Edit2: Peter? Wahsaga? Och kommt schon Jungs!?
          Zuletzt geändert von nichtsooft; 09.05.2009, 17:10.
          WHILE (!$asleep) { $sheep++; }

          Kommentar


          • #6
            Ok SRY wegen Doppelpost und so!

            Ich hab jetzt auch schon versucht die Scripten ganz am Ende auszuführen, denn da sollte ja mein Element schon vorhanden sein....

            Na jedenfalls hat das auch nichts gebracht, außer die Erkenntnis, daß man die betroffenen Scripts irgendwo in beliebiger Reihenfolge ausführen kann und die IllegalArgumentException trotzdem bestehen bleibt!

            Habt ihr keine Idee wie ich das "Element is null"-Problem lösen kann!?
            WHILE (!$asleep) { $sheep++; }

            Kommentar


            • #7
              Hast du mal ins Skript mal gedebuggt? Ich habe ehrlich gesagt keine Lust mich durch das Skript zu wühlen. Aber so schwer wirds nicht sein. Versuch doch wenigstens erstmal das Problem einzugrenzen. Wenn die Daten aus dem Cache kommen, läufts ja.

              Kommentar


              • #8
                Also wenn du mit "Script debuggen" Mootools und die Plugin-Scripten meinst, dann ja! "NuSphere meint es passt alles und mit FireBug finde ich bis auf den Fehler um den es hier geht auch keine Unregelmäßigkeiten!

                Ich kapier' nur nicht, wie eine ID die es gibt für JS null sein kann! Könnte es daran liegen, weil der Container drum rum auch ne eigene ID hat!?
                WHILE (!$asleep) { $sheep++; }

                Kommentar


                • #9
                  Ich hab jetzt doch nochmal reingesehen. In deinem Quellcode stehen zwar die imgholder-Elemente, im DOM der Seite ist aber nur folgender Block zu finden:
                  Code:
                  <div style="padding: 0px; overflow: hidden; position: relative; left: 0px; top: -188px; width: 585px; height: 188px;" id="slidemenu">
                  	<div id="slidemenu_Elm1" style="position: absolute; height: 188px; width: 345px; left: 0px;"/>
                  	<div id="slidemenu_Elm2" style="position: absolute; height: 188px; width: 345px; left: 345px;"/>
                  	<div id="slidemenu_Elm3" style="position: absolute; height: 188px; width: 345px; left: 385px;"/>
                  	<div id="slidemenu_Elm4" style="position: absolute; height: 188px; width: 345px; left: 425px;"/>
                  	<div id="slidemenu_Elm5" style="position: absolute; height: 188px; width: 345px; left: 465px;"/>
                  	<div id="slidemenu_Elm6" style="position: absolute; height: 188px; width: 345px; left: 505px;"/>
                  	<div id="slidemenu_Elm7" style="position: absolute; height: 188px; width: 345px; left: 545px;"/>
                  </div>
                  Da macht das Mootools wohl doch mehr, wie du denkst.

                  Kommentar


                  • #10
                    Ja LOL! Das ist ja mal voll an mir vorbeigegangen, dass die ID verändert wird! ^^

                    Jedenfalls funzt das jetzt ganz supi und ich kann endlich weiter machen! Riesengroßes DANKE an dich desaster!
                    WHILE (!$asleep) { $sheep++; }

                    Kommentar

                    Lädt...
                    X