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

Scrips verhakeln sich... (neuling)

Status
Für weitere Antworten geschlossen.

Seven79

Neues Mitglied
Hallo,

ich bin noch ein ziemlicher Neuling in Sachen Javascript. Jetzt habe ich folgendes Problem: wenn eine Seite geladen wird soll eine ganz bestimmte Eingabezeile ausgewählt werden. Dies funktioniert mit dem Befehl
Code:
<Body onload="document.getElementsByName('q')[0].focus();">
auch soweit gut.

Nun wollte ich, dass mit Hilfe von Javascript mein Hintergrundbild mit einen Einblend-Effect angezeigt werden soll. Dazu nutze ich folgenden Code.

Code:
<script type="text/javascript">
<!--
document.write("<style type='text/css'>#thephoto {visibility:hidden;}</style>");

function initImage() {
    imageId = 'thephoto';
    image = document.getElementById(imageId);
    setOpacity(image, 0);
    image.style.visibility = "visible";
    fadeIn(imageId,0);
}
function fadeIn(objId,opacity) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity <= 100) {
            setOpacity(obj, opacity);
            opacity += 10;
            window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
        }
    }
}
function setOpacity(obj, opacity) {
    opacity = (opacity == 100)?99.999:opacity;
    // IE/Win
    obj.style.filter = "alpha(opacity:"+opacity+")";
    // Safari<1.2, Konqueror
    obj.style.KHTMLOpacity = opacity/100;
    // Older Mozilla and Firefox
    obj.style.MozOpacity = opacity/100;
    // Safari 1.2, newer Firefox and Mozilla, CSS3
    obj.style.opacity = opacity/100;
}
window.onload =  function() {initImage()};
// -->
</script>
Dies funtioniert auch, solang ich nicht beide Funktionen zusammen in einem Dokument nutzen möchte.

Nun meine Fragen: Wie kann ich das ganze umschreiben, so das sie sich nicht mit einander verhaken?

Danke im vorraus... :-D
 
Lass window.onload weg und schreibt die aufzurufende Funktions ins body:

Code:
<body onload="document.getElementsByName('q')[0].focus();initImage();">
 
Code:
window.onload =  function() {
    initImage();
    document.getElementsByName('q')[0].focus();
};
Man kann nur ein onload pro Dokument haben. Um das zu umgehen wurde dann addEventListener() definiert.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben