Marc: onmouseover-effekt funzt net so wie er soll...

Hallo,

ich nutze auf meiner Seite http://www.startrekarchiv.de einen onmouseover effekt indem ich das style-Attribut ändere:

var i;
function over(i)
{
document.getElementsByTagName("div")[i].style.border="1px solid #000000";
document.getElementsByTagName("div")[i].style.background="#6B7954";
}
function out(i)
{
document.getElementsByTagName("div")[i].style.border="1px solid #CFD4C8";
document.getElementsByTagName("div")[i].style.background="#CFD4C8";
}

Allerdings funktioniert das leider nicht so ganz wie ich will. Im IE geht das ganze beim ersten Aufruf quälend langsam und beim netscape funktioniert das onmouseout beim ersten überfahren nicht. Es sind also mehrere makiert. Kann mir jemand helfen den fehler zu finden?

Grüsse

Marc

  1. Hallo,

    var i;
    function over(i)
    document.getElementsByTagName("div")[i].style.background="#6B7954";

    Was machst du mit i, Du zaehlst doch nichts? Schau Dir das mit der DOM und Schleifen in SelfHTML mal genau an

    Dieter

    1. i definiert bei mir welches der verschiedenen elemente gemeint ist. Dafür brauche ich das, der Aufruf erfolgt über onmouseover="over(0)" oder over(1) und so weiter, halt je nach dem welches element nun überfahren wird...

      Grüsse

      Marc

  2. Hallo,

    ich nutze auf meiner Seite http://www.startrekarchiv.de einen onmouseover effekt indem ich das style-Attribut ändere:

    var i;
    function over(i)
    {
    document.getElementsByTagName("div")[i].style.border="1px solid #000000";
    document.getElementsByTagName("div")[i].style.background="#6B7954";
    }
    function out(i)
    {
    document.getElementsByTagName("div")[i].style.border="1px solid #CFD4C8";
    document.getElementsByTagName("div")[i].style.background="#CFD4C8";
    }

    Allerdings funktioniert das leider nicht so ganz wie ich will. Im IE geht das ganze beim ersten Aufruf quälend langsam und beim netscape funktioniert das onmouseout beim ersten überfahren nicht. Es sind also mehrere makiert. Kann mir jemand helfen den fehler zu finden?

    Du willst vielleicht:

    <div onmouseover="over(this);">bla</DIV>
    function over(i)
    {
    i.style.border="1px solid #000000";
    i.style.background="#6B7954";
    }

    Aber um erhlich zu sein, wenn dein Code quälend langsam ist, dann ist was faul im Staate Dänemark.

    Struppi.

    1. Aber um erhlich zu sein, wenn dein Code quälend langsam ist, dann ist was faul im Staate Dänemark.

      Das dachte ich mir auch. Deswegen habe ich ja hier gefargt ob jemand ein fehler auffällt, das das verursachen könnte...

      Grüsse

      Marc

      1. Aber um erhlich zu sein, wenn dein Code quälend langsam ist, dann ist was faul im Staate Dänemark.

        Das dachte ich mir auch. Deswegen habe ich ja hier gefargt ob jemand ein fehler auffällt, das das verursachen könnte...

        das hat nichts mit einem Fehler zu tun, ich hab dir ja schon gesagt wie es schneller geht, sondern vermute ich das deine ganze Seite zu überladen ist.

        Struppi.