Chris: ID definierung?

habe folgendes problem:

wenn ich bei einen button img id=madrid definiere geht es, wenn ich aber zwei oder mehr id=madrid definiere geht der mouseover effekt nicht mehr und es kommt eine fehlermeldung. weiß vielleicht jemand rat? achso der code:

<script type="text/javascript">
<!--
Normal1 = new Image();
Normal1.src = "bilder/pic_r2_c2.jpg";
Highlight1 = new Image();
Highlight1.src = "bilder/pic2_r1_c1.jpg";

Normal2 = new Image();
Normal2.src = "bilder/pic_r2_c3.jpg";
Highlight2 = new Image();
Highlight2.src = "bilder/pic2_r1_c2.jpg";

function Bildwechsel(Bildnr,Bildobjekt) {
  document.all.Madrid.filters.blendTrans.Apply();
  document.all.Madrid.filters.blendTrans.Play();
 window.document.images[Bildnr].src = Bildobjekt.src;
}

//-->
</script>

und der der buttons:

<img id="Madrid" border="0" src="bilder/pic_r2_c2.jpg" onMouseOver="Bildwechsel(2,Highlight1)" onMouseOut="Bildwechsel(2,Normal1)"  style="cursor:hand; filter:blendTrans(Duration=0.5, Transition=21)" width="60" height="23"></a></td>
      <td>
<img id="Madrid" border="0" src="bilder/pic_r2_c3.jpg" onMouseOver="Bildwechsel(3,Highlight2)" onMouseOut="Bildwechsel(3,Normal2)"  style="cursor:hand; filter:blendTrans(Duration=0.5, Transition=21)" width="89" height="23"></td>

  1. hi,

    wenn ich bei einen button img id=madrid definiere geht es, wenn ich aber zwei oder mehr id=madrid definiere geht der mouseover effekt nicht mehr und es kommt eine fehlermeldung.

    eine ID hat dokumentweit eindeutig zu sein.

    gruss,
    wahsaga

    1. das hilft mir jetzt leider auch nicht weiter...

      1. Hi,

        das hilft mir jetzt leider auch nicht weiter

        jedem Buildl sein ureigenes id/name-Attribut, ist doch eigentlich eine klare Sache...

        Gruesse  Joachim

        1. ja dagegen hab ich ja nicht, meine es so:

          <img id="Madrid1"
           <img id="Madrid2"

          document.all.Madrid[variable1,2,3,4].filters.blendTrans.Apply();
            document.all.Madrid[variable1,2,3,4]..filters.blendTrans.Play();

          brauche aber den befehl der die variable vergibt damit ich jeder id madrid1 madrid2 madrid3.... vergben kann ohne den quellcode unnötig aufblähen zu müssen.

          1. Hi,

            document.all.Madrid[variable1,2,3,4].filters.blendTrans.Apply();
              document.all.Madrid[variable1,2,3,4]..filters.blendTrans.Play();

            brauche aber den befehl der die variable vergibt damit ich jeder id madrid1 madrid2 madrid3.... vergben kann ohne den quellcode unnötig aufblähen zu müssen.

            _den_ Quälcode musst Du mal grundlegend überarbeiten, er ist veraltet und IE-proprietär. Ansonsten:

            document.all["Madrid" + var]...
            document.layers["Madrid" + var]...
            document.getElementById("Madrid" + var)...

            Gruesse  Joachim

            1. erstmal danke. hab es jetzt so geschrieben:

              function Bildwechsel(Bildnr,Bildobjekt) {
                document.layers.["Madrid" + var]
                document.getElementById.("Madrid" + var)
                document.all.["Madrid" + var].filters.blendTrans.Apply();
                document.all.["Madrid" + var].filters.blendTrans.Play();
               window.document.images[Bildnr].src = Bildobjekt.src;
              }

              kommt aber immer: Bezeichner erwartet?

              1. hi,

                erstmal danke. hab es jetzt so geschrieben:

                du hast also die von joachim geposteten _beispiele_ _verschiedener_ zugriffsmöglichkeiten alle auf einmal in dein script gehauen - vermutlich ohne auch nur eine davon in selfhtml nachzuschlagen, geschweige denn zu verstehen.

                kommt aber immer: Bezeichner erwartet?

                gibt es var überhaupt in deiner funktion?

                generell solltest du dich zunächst einmal ausführlicher mit den grundlagen von JS beschäftigen, da hast du offenbar noch grosse lücken.

                gruss,
                wahsaga

                1. das ist genau das problem, var ist nicht definiert ;-( und ich keine ahnung wie ich var definieren kann also z.b. var = 1-99 . und ja ich hab noch große lücken in java.

                  1. hi,

                    ich keine ahnung wie ich var definieren kann also z.b. var = 1-99 .

                    damit würdest du die variable var mit dem wert -98 belegen.
                    da das aber wohl nicht das sein dürfte, was du möchtest, solltest du dich mal mit dem konzept von schleifen in javascript auseinander setzen:
                    http://selfhtml.teamone.de/javascript/sprache/schleifen.htm

                    das alleine wird dein problem aber wahrscheinlich noch nicht lösen, um eine ausführlichere beschäftigung mit den grundlagen von javascript kommst du wohl kaum herum.
                    das javascript-kapitel von selfhtml ist dazu ein ganz guter einsteigspunkt.

                    und ja ich hab noch große lücken in java.

                    java ist immer noch etwas anderes als javascript ;-)

                    gruss,
                    wahsaga

  2. function Bildwechsel(Bildnr,Bildobjekt) {
      document.all.Madrid.filters.blendTrans.Apply();
      document.all.Madrid.filters.blendTrans.Play();
    window.document.images[Bildnr].src = Bildobjekt.src;

    wo hast Du denn den uralten Krempel ausgegraben?
    filters sind proprietärer MS-Quatsch
    und mit all ist es auch nicht viel besser.

    Ließ nach, wie man DOM-Methoden richtig anwendet und dann wird Dir auch eine geschickte Lösung einfallen.

    Gruß
    Avalon

  3. "Definierung" gibt es nicht!

    Du meintest bestimmt "Definition".

    Was täte die Welt bloß ohne Pedanten sein, die sich aufopfernd um die Sprache kümmern tun.
    ... und was wäre sie ohne Selbstironie?

    So, jetzt kann ich beruhigt schlafen gehen.