Christoph: Dynamische onmouseover

Moin Moin!
Bislang habe ich meine onmouseover-Effekte immer wie folgt gelöst:

bilderListe = new Array();{
bilderListe["bestellen"] = new Image();
bilderListe["bestellen"].src = "../grafik/button_1.jpg";
bilderListe["bestellen_over"] = new Image();
bilderListe["bestellen_over"].src = "../grafik/button_2.jpg";
    }
function mouse_over(Name){
        document.images[Name].src = bilderListe[Name+"_over"].src;
        }
        function button_normal(Name){
        document.images[Name].src = bilderListe[Name].src;
        }

Klappt auch super, nur stehe ich jetzt vor dem Problem das der Button "Bestellen" x-mal ausgegeben wird. Eben sooft wie Einträge in der DB vorhanden sind. Von daher funzt das Script net mehr.
Mir fällt leider nix ein wie ich das ganze lösen kann!
Freue mich schon auf Eure antworten;-)
Gruss,
Christoph

  1. Wie wäre es, wenn du die mouseoverefects mit CSS machst. Damit kannst du aber keine bilder verwenden, aber hast auch keine solche Probleme.
    [url=http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus]link zu CSS hover[/url]

    Gruss Michy

    1. Hallo Michy,

      Wie wäre es, wenn du die mouseoverefects mit CSS machst. Damit kannst du aber keine bilder verwenden, aber hast auch keine solche Probleme.

      natürlich kann man das auch mit Bildern machen: http://aktuell.de.selfhtml.org/artikel/css/mouseover/index.htm#a4

      [url=http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus]link zu CSS hover[/url]

      na das verlinken üben wir aber nochmal :-)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. Hallo Michy,

        Hallo auch

        Wie wäre es, wenn du die mouseoverefects mit CSS machst. Damit kannst du aber keine bilder verwenden, aber hast auch keine solche Probleme.
        natürlich kann man das auch mit Bildern machen: http://aktuell.de.selfhtml.org/artikel/css/mouseover/index.htm#a4

        jetzt weiss ich schon mehr. Vielen Dank

        [url=http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus]link zu CSS hover[/url]
        na das verlinken üben wir aber nochmal :-)

        Stimmt.
        War mir zu aufwendig nachzuschauen, da habe ich mal versucht.

  2. Hallo Christoph,

    Klappt auch super, nur stehe ich jetzt vor dem Problem das der Button "Bestellen" x-mal ausgegeben wird.

    wo liegt das Problem? wie sieht der html-Teil in dem du die Buttons benutzt aus?

    Von daher funzt das Script net mehr.

    definiere furz... ähh funzt net mehr.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Moin Tobias!

      Hallo Christoph,

      Klappt auch super, nur stehe ich jetzt vor dem Problem das der Button "Bestellen" x-mal ausgegeben wird.
      wo liegt das Problem? wie sieht der html-Teil in dem du die Buttons benutzt aus?

      <a href="#" onmouseover="mouse_over('bestellen');" onmouseout="button_normal('bestellen');"><img name="bestellen" src="../grafik/button_1.jpg" border="0"></a>

      Von daher funzt das Script net mehr.
      definiere furz... ähh funzt net mehr.

      Egal über welchen Button ich mit der Maus gehe, der Effekt wird bei dem letzten ausgeführt. Die CSS Version würd ich nur im Notfall verwenden wollen...JS wär mir lieber.

      1. Hallo Christoph,

        <a href="#" onmouseover="mouse_over('bestellen');" onmouseout="button_normal('bestellen');"><img name="bestellen" src="../grafik/button_1.jpg" border="0"></a>

        du könntest deinen Bildern einen fortlaufenden Namen verpassen (die Buttons werden doch sowieso in einer Schleife ausgegeben, oder?) und dann der Funktion mouse_over() (bzw. button_normal()) den namen übergeben und dann das Bild mit dem entsprechenden Namen austauschen (wobei dann immer das gleiche Bild ausgetauscht wird, egal was für ein name übergeben wird).

        Egal über welchen Button ich mit der Maus gehe, der Effekt wird bei dem letzten ausgeführt.

        irgendwo logisch, der Brower weiß ja nicht, welches Bild er austauschen soll...

        Die CSS Version würd ich nur im Notfall verwenden wollen...JS wär mir lieber.

        warum?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hi!

          du könntest deinen Bildern einen fortlaufenden Namen verpassen

          Aber ich weiss ja nicht wieviele Buttons es werden! Ich müsste die Buttons eigentlich dynamisch benennen*grübel*

          Die CSS Version würd ich nur im Notfall verwenden wollen...JS wär mir lieber.
          warum?

          Weil die CSS Variante nur in neueren Brausern funzt...

          Gruss,
          Christoph

          1. Hallo Christoph,

            du könntest deinen Bildern einen fortlaufenden Namen verpassen
            Aber ich weiss ja nicht wieviele Buttons es werden!

            das macht doch nichts - du lässt deine Programmiersprache einfach die Buttons fortlaufend durchnummerieren, und weist denen dann in der Funktion immer das gleiche Bild zu.
            die funktion mouse_over schaut dann nicht mehr so:
            document.images[Name].src = bilderListe[Name+"_over"].src;
            aus, sondern so:
            document.images[Name].src = bilderListe["bestellen_over"].src;

            Ich müsste die Buttons eigentlich dynamisch benennen*grübel*

            ja

            Die CSS Version würd ich nur im Notfall verwenden wollen...JS wär mir lieber.
            warum?
            Weil die CSS Variante nur in neueren Brausern funzt...

            die Version mit js funktioniert nur in Browsern die js können und eingeschaltet haben.

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. ok danke!

              das macht doch nichts - du lässt deine Programmiersprache einfach die Buttons fortlaufend durchnummerieren, und weist denen dann in der Funktion immer das gleiche Bild zu.
              die funktion mouse_over schaut dann nicht mehr so:
              document.images[Name].src = bilderListe[Name+"_over"].src;
              aus, sondern so:
              document.images[Name].src = bilderListe["bestellen_over"].src;

              *örgz* das is mir für einen Sonntag Nachmittag zuviel ;-)

              die Version mit js funktioniert nur in Browsern die js können und eingeschaltet haben.

              Na gut, aber viele alte Brauser haben JS aktiviert...is zumindest meine Erfahrung das ich lieber mit JS für alte Brauser schreibe.

              Gruss und schönen Sonntag noch!
              Christoph

              1. die Version mit js funktioniert nur in Browsern die js können und eingeschaltet haben.

                Na gut, aber viele alte Brauser haben JS aktiviert...is zumindest meine Erfahrung das ich lieber mit JS für alte Brauser schreibe.

                Das halte ich für Unsinn, ich surfe mit einem IE 4. und Netzscape 3. wenn ich dort JS einschalte ist ein Absturz innerhalb kürzester Zeit vorprogrammiert. Und im alten Netscape kriegst du bei jedem JS Fehler ein popup das du weg klicken musst, rate mal wie oft das kommt?

                :hover zu verwenden ist wesentlich eleganter und dürfte für sowas "wichtiges" durchaus bei genug Besuchern funktionieren.

                Struppi.