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

Script mit onload aufrufen? Schon probiert

kasmo

Neues Mitglied
Script mit onload aufrufen? Welcher Fehler? =(

Hi zusammen,

ich bin in JS ziemlich neu, habe hier ein vorgefertigtes Script das ich angepasst habe auf mein Verhältnis, doch dieses ist auf onclick ausgelegt und ich würde das gerne bei Webseiten-Start ausführen, habe auch schon nachgelesen mit dem Eventloader onload und auch probiert aber entweder habe ich diesen falsch positioniert oder iwas anderes falsch gemacht.

Könnt ihr mir da helfen? (Im Anhang der Code wie ich ihn schreiben würde - der aber falsch ist)

HTML:
<body onload="function () {fade_in_out('showhide', -0.10)}">

<img id="showhide" alt="" src="http://www.html.de/images/bgpic.gif"><br>

        <a href="javascript:hide_picture (document.getElementById ('showhide'))" title="">Bild ausblenden</a><br>
        <a href="javascript:show_picture (document.getElementById ('showhide'))" title="">Bild einblenden</a><br>
        <a href="javascript:fade_in_out ('showhide', -0.05)" title="">Bild schrittweise ausblenden</a><br>
        <a href="javascript:fade_in_out ('showhide', 0.05)" title="">Bild schrittweise einblenden</a>
        <script language="javascript" type="text/javascript">
        <!-- // JavaScript-Bereich für ältere Browser auskommentieren
        // Bildobjekt über die Visibility-Eigenschaft des Style verstecken
        function hide_picture (element) {
            // Bild angegeben?
            if (typeof element == 'object' && element.tagName == 'IMG')
                // Style-Eigenschaft zum Ausblenden setzen
                element.style.visibility = 'hidden';
        }

        // IMG-Element per Style sichtbar machen
        function show_picture (element) {
            // Handelt es sich um ein Bildelement?
            if (typeof element == 'object' && element.tagName == 'IMG')
                // Bildelement einblenden
                element.style.visibility = 'visible';
        }

        // Funktion kann mit JavaScript Bilder schrittweise (animiert) ausblenden
        // Die Element-ID des auszublendenden Elements wird als Zeichenkette angegeben.
        // Der zweite Parameter gibt die Schrittweite an, mit der das Bild ein- oder
        // ausgeblendet werden soll. Negative Werte blenden aus; Positive blenden ein
        function fade_in_out (element_id, step) {
            // Intervall noch nicht gestartet?
            if (!this.proc) {
                // Schrittweite muss positiv oder negativ sein, da
                // sonst weder aus- noch eingeblendet wird.
                if (step == 0) {
                    // Fehlermeldung und Beenden, wenn Schrittweite == 0
                    alert ('Schrittweite darf nicht 0 sein!');
                    return;
                }
                // Ansonsten kann die Animation gestartet werden.
                this.proc = window.setInterval ('fade_in_out(\'' + element_id + '\', ' + step + ')', 50);
            }
            else {
                // Wir befinden uns bereits in der Ein- Ausblendphase
                var e = document.getElementById (element_id);
                // Variable zur Speicherung der Transparenz des Elements
                var opacity;
                // Opera, Mozilla & Co. verwenden die Style-Eigenschaft opacity
                if (!e.filters)
                    opacity = !e.style.opacity ? step > 0 ? 0 : 1 : parseFloat (e.style.opacity);
                // Ansonsten wird der Alpha-Filter von IE verwendet
                else
                    // Opacity wird beim IE in Prozent angegeben
                    opacity = !e.filters.alpha.opacity ? step > 0 ? 0 : 1 : parseFloat (e.filters.alpha.opacity) / 100;
                // Zieltransparenz erreicht? (0, wenn ausgeblendet wird; 1, wenn eingeblendet wird)
                if ((step < 0 && opacity != 0) ||
                    (step > 0 && opacity != 1)) {
                    // Transparenz um Schrittweite anpassen
                    opacity += step;
                    // Beim setzen der neuen Transparenz wieder auf die verschiedenen Browser auchten!
                    if (!e.filters)
                        e.style.opacity = step < 0 ? opacity < 0 ? 0 : opacity : opacity > 1 ? 1 : opacity;
                    else
                        e.filters.alpha.opacity = step < 0 ? opacity < 0 ? 0 : opacity * 100 : opacity > 1 ? 100 : opacity * 100;
                }
                else {
                    // Endzustand (vollständig ein- bzw. ausgeblendet) erreicht!
                    // Prozess kann nun abgebrochen werden.
                    window.clearInterval (this.proc);
                    this.proc = null;
                }
            }
        }
        // -->
        </script>

</body>
 
Zuletzt bearbeitet:
Werbung:
Hallo Kasmo,
Fehlerkonsole meldet "function statement requires a name", d. h. in diesem Zusammenhang ist eine anonyme Funktion nicht zulässig. Also entweder so:
HTML:
<body onload="fade_in_out('showhide', -0.10);">
oder so (im Javascript-Bereich):
Code:
window.onload = function () {fade_in_out('showhide', -0.10)};
Das Bild wird beim Laden ausgeblendet, ist das so gewollt?
Viele Grüße - Ulrich
 
Ja das Bild soll ausgeblendet werden, wollte es erst als Background Konfigurieren aber da blendet er mir den kompletten Body beim ausblenden aus also setze ich es als normales image und "marge" den body im Prinzip drüber.

Ok ich probier dann mal die Funktion aus danke schonmal =)

//EDIT

Super danke

<body onload="fade_in_out('showhide', -0.10);">

hat geklappt =)

Wie hast du den Fehler rausgefunden bzw über welche Fehlerconsole? Dreamweaver oder wie?
 
Werbung:
Nein, nicht Dreamweaver, die Fehlerkonsole ist eine Funktion des Browsers. Im Firefox 7: Extras - Webentwickler - Fehlerkonsole. In älteren Firefox-Versionen: Extras - Fehlerkonsole.
 
Werbung:
// Funktion kann mit JavaScript Bilder schrittweise (animiert) ausblenden

So etwas Ähnliches hatte ich bei meinen ersten Gehversuchen auch mal ausprobiert: eine Slideshow in purem JavaScript. Um meinem Dozenten anschließend zu erzählen, dass ich JS hasse und PHP ja viel zugänglicher sei. :mrgreen:

Der hatte mich dann auf jQuery hingewiesen, und das würde ich dir, gerade im Hinblick auf Animationen, auch empfehlen.
 
Entweder copy&paste oder trial&error :D
Ja, aber wie findet man dann Fehler? als ich mit JS anfing, war das eine der ersten Dinge, wo nach ich gesucht hatte, wo findet man die Fehlermeldungen - eben weil ich auch viel mit trial&error lerne. Aber ohne "error" Meldungen ist das reichlich nervig.
 
Werbung:
Zurück
Oben