• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem beim einbinden von Scriptacolous

Andwari

Neues Mitglied
Hallo!

Ich bin am verzweifeln. Ich versuche einen einfachen Morph-Effekt mit Scriptaculous hinzubekommen. Leider funktioniert es nicht. Ich wollte eine Funktion schreiben, die die Höhe eines div-Bereichs "morpht". Dann habe ich versucht ein Minimalbeispiel zu schreiben und habe festgestellt, dass sobald ich die prototype.js einbinde, meine Funktion nicht mehr aufgerufen wird! Lösche ich die prototype.js-Einbindung funktioniert die Funktion (die jetzt aber nur noch ein alert enthält ;) ). Was mache ich nur falsch???
Wenn ich nicht den Umweg über eine Funktion gehe, funktioniert der Morph-Effekt ...

Minimalbeispiel ohne morph, da hier nicht mal das alert ausgeführt wird. Lösche idh die Zeile mit dem prototype.js, funktioniert die Funktion.
HTML:
<html>
    <head>
        <title>Morph-Test</title>

        <script type="text/javascript" src="lib/prototype.js"></script>
        <script type="text/javascript" src="src/scriptaculous.js"></script>

        <script type="text/javascript">
            function down() {
                alert("Funktioniert!");
            }
        </script>

    </head>
    <body>
        <div style="width:200px;height:10px;background-color:#202020;" id="morphling"></div>
        <p>
            <a href="" onclick="down()">Morph</a>
        </p>
    </body>
</html>

Ich bin am verzweifeln und kann einfach den Fehler nicht finden.

edit: Ich benutze Firefox v17 auf einem LAMP-Server. Aber da scriptaculous ja ohne Funktionen läuft, liegt es daran wohl nicht.

Und: prototype.js und scriptaculous.js werden korrekt geladen, da liegt der Fehler auch nicht!
 
Werbung:
So wie du es schilderst, könnte es eventuell an einem Konflikt der Beiden liegen.

Gibt es denn einen besonderen Grund dafür, dass du Prototype einsetzt? Das Framework wird doch ohnehin nicht mehr weiterentwickelt.
 
Hallo!
Scriptaculous benötigt Prototype und man muss definitiv beide einbinden. Die sollten also keinen Konflikt hervorrufen.

Aber: Ich habe herausgefunden wo der Fehler lag!

Meine Funktion selbst hatte einen Konflikt mit Prototype. Ich sollte die Funktionen nicht so allgemein benennen, denn in Prototype existiert bereits eine Funktion namens down(). Dadurch entstand natürlich ein Konflikt! Sobald ich die Funktion umbennene klappt alles.
 
Werbung:
Scriptaculous benötigt Prototype und man muss definitiv beide einbinden. Die sollten also keinen Konflikt hervorrufen.
Ich glaube die Frage von Tronjer war eher philosophischer Natur, dass Scriptaculous und Prototype zusammenhängen ist schon klar. Die Frage ist, warum gerade diese beiden (veralteten) Frameworks und nicht z.B. jQuery.
 
sehe ich auch so!

Nimm lieber jQuery, ein Framework, welches nicht mehr weiterentwickelt wird kann später Probleme machen!

Zum Beispiel könnte es irgentwann nicht mehr CrossBrowser fähig sein.

jQuery wäre meine erste Wahl
 
Ich glaube die Frage von Tronjer war eher philosophischer Natur, dass Scriptaculous und Prototype zusammenhängen ist schon klar. Die Frage ist, warum gerade diese beiden (veralteten) Frameworks und nicht z.B. jQuery.

Jupp, so in etwa war es gemeint. Sofern kein zwingender Grund für den Einsatz von Prototype vorliegt, würde ich es weglassen. In meiner alten Firma hatte ich mich Prototype strikt verweigert und statt dessen den Einsatz von jQuery durchgesetzt.
 
Werbung:
Zurück
Oben