maglite: Probleme mit Ändern des Cursors

Ich habe ein Problem:
In einer HTML-Datei habe ich ein div-Element und will, wenn der Mauszeiger darüberfährt, die Hintergrundgrafik des div-Elements, die in der css-Datei über class="..." definiert ist, austauschen und gleichzeitig den Mauszeiger in einen Pointer umwandeln (damit der Anwender merkt, dass das gesamte div-Element ein Link ist).
Mit Firefox funktioniert alles prima, aber beim IE wird zwar die Grafik getauscht, aber der Cursor verwandelt sich nicht und die Javascript-Fehlermeldung "Ungültiges Argument" für die pointer-Zeile wird ausgegeben.
Weiß jemand, woran das liegt? Belehrungen und Tipps würden mir echt helfen ;-)

<div class="linkpassiv" onmouseover="navhover(this);" onclick="location.href='index.htm';">
News
</div>

function navhover(a) {
 a.style.color = '#000060';
 a.style.background = 'url(dateien/navhover.jpg) repeat-y;';
 a.style.cursor = 'pointer';
}

Thx im voraus.
Gruß, maglite

  1. In einer HTML-Datei habe ich ein div-Element und will, wenn der Mauszeiger darüberfährt, die Hintergrundgrafik des div-Elements, die in der css-Datei über class="..." definiert ist, austauschen und gleichzeitig den Mauszeiger in einen Pointer umwandeln (damit der Anwender merkt, dass das gesamte div-Element ein Link ist).
    Mit Firefox funktioniert alles prima, aber beim IE wird zwar die Grafik getauscht, aber der Cursor verwandelt sich nicht und die Javascript-Fehlermeldung "Ungültiges Argument" für die pointer-Zeile wird ausgegeben.
    Weiß jemand, woran das liegt? Belehrungen und Tipps würden mir echt helfen ;-)

    Du brauchst das Skript eigentlich nur für den IE alle anderen Browser können das direkt mit CSS

    .linkpassiv:hover
    {
    ...
    }

    <div class="linkpassiv" onmouseover="navhover(this);" onclick="location.href='index.htm';">
    News
    </div>

    Wobei solche "Links" natürlich Fragwürdig sind, aber wenn du weißt was du tust.

    Struppi.

    1. Du brauchst das Skript eigentlich nur für den IE alle anderen Browser können das direkt mit CSS

      ok, dann nur für den ie. das problem aber bleibt ;-)
      gruß, maglite

  2. hi,

    In einer HTML-Datei habe ich ein div-Element und will, wenn der Mauszeiger darüberfährt, die Hintergrundgrafik des div-Elements, die in der css-Datei über class="..." definiert ist, austauschen und gleichzeitig den Mauszeiger in einen Pointer umwandeln (damit der Anwender merkt, dass das gesamte div-Element ein Link ist).

    so ein quark - warum benutzt du dann nicht einen link, den du auf die gewünschten maße bringst, und dem du ein hintergrundbild verpasst?

    beim IE wird zwar die Grafik getauscht, aber der Cursor verwandelt sich nicht und die Javascript-Fehlermeldung "Ungültiges Argument" für die pointer-Zeile wird ausgegeben.
    Weiß jemand, woran das liegt?

    vermutlich daran, dass du einen IE 5 benutzt, der mit pointer für cursor nichts anfangen kann - und diesen wert sogar eines javascript-fehlers für würdig erachtet, wenn man ihn trotzdem der style.cursor-eigenschaft eines elementes zuzuweisen versucht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. so ein quark - warum benutzt du dann nicht einen link, den du auf die gewünschten maße bringst, und dem du ein hintergrundbild verpasst?

      weil auf dem hintergrundbild noch text steht

      vermutlich daran, dass du einen IE 5 benutzt, der mit pointer für cursor nichts anfangen kann - und diesen wert sogar eines javascript-fehlers für würdig erachtet, wenn man ihn trotzdem der style.cursor-eigenschaft eines elementes zuzuweisen versucht.

      nein, ich benutz version 6.irgendwas

      1. hi,

        so ein quark - warum benutzt du dann nicht einen link, den du auf die gewünschten maße bringst, und dem du ein hintergrundbild verpasst?

        weil auf dem hintergrundbild noch text steht

        und, dürfen links etwa keinen text enthalten?

        dein missbrauch eines divs als link - der darüber hinaus nur mit aktiviertem javascript funktionieren kann - ist und bleibt in meinen augen unfug.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. dein missbrauch eines divs als link - der darüber hinaus nur mit aktiviertem javascript funktionieren kann - ist und bleibt in meinen augen unfug.

          ich kann natürlich einzelne bilder nehmen und die verlinken, aber dann hätte ich für jeden menü-punkt zwei verschiedene bilder (normal und hover).
          stattdessen will ich nur ein "normales" hintergrundbild und ein hover-hintergrundbild haben, über die ich einfach nur text setzen kann (was die ladezeiten um ein vielfaches senken würde).
          und die kombination von hintergrundgrafik und text fasse ich als div zusammen. da ist meiner meinung nach stylistisch nichts dran auszusetzen.
          gruß, maglite

          1. hi,

            ich kann natürlich einzelne bilder nehmen und die verlinken, aber dann hätte ich für jeden menü-punkt zwei verschiedene bilder (normal und hover).
            stattdessen will ich nur ein "normales" hintergrundbild und ein hover-hintergrundbild haben, über die ich einfach nur text setzen kann (was die ladezeiten um ein vielfaches senken würde).

            dann nutze einen verflixten link, und gebe diesem im normalzustand ein hintergrundbild, und bei hover das andere.
            was ist denn daran so schwer zu kapieren?

            und die kombination von hintergrundgrafik und text fasse ich als div zusammen. da ist meiner meinung nach stylistisch nichts dran auszusetzen.

            es ist überflüssiger nonsense.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. hi,

              ich kann natürlich einzelne bilder nehmen und die verlinken, aber dann hätte ich für jeden menü-punkt zwei verschiedene bilder (normal und hover).
              stattdessen will ich nur ein "normales" hintergrundbild und ein hover-hintergrundbild haben, über die ich einfach nur text setzen kann (was die ladezeiten um ein vielfaches senken würde).

              dann nutze einen verflixten link, und gebe diesem im normalzustand ein hintergrundbild, und bei hover das andere.
              was ist denn daran so schwer zu kapieren?

              und die kombination von hintergrundgrafik und text fasse ich als div zusammen. da ist meiner meinung nach stylistisch nichts dran auszusetzen.

              es ist überflüssiger nonsense.

              gruß,
              wahsaga

              ich glaub, dass du mein anliegen noch immer nicht richtig verstehst...
              wie dem auch sei, trotzdem danke fürs gedankenmachen.
              gruß, maglite

            2. ich nochmal ;-)
              zum teil hattest du doch recht (einfach ein <a...> benutzen) (asche auf mein haupt), aber das alleine reicht nicht (asche auf dein haupt). man muss noch ein css-hack für den ie einfügen:
              * html #navlinks a {
              width: 100%;
              }
              und schon erkennt auch der ie, dass er ne längere "link-fläche" als nur die schrift haben soll.
              gruß, maglite

          2. ich kann natürlich einzelne bilder nehmen und die verlinken, aber dann hätte ich für jeden menü-punkt zwei verschiedene bilder (normal und hover).
            stattdessen will ich nur ein "normales" hintergrundbild und ein hover-hintergrundbild haben, über die ich einfach nur text setzen kann (was die ladezeiten um ein vielfaches senken würde).

            wenn du einen normalen Link verwendest kann das auch der IE, wo ist das Problem?

            a:link
            {
            background-image: url(...);
            }
            a:hover
            {
            background-image: url(...);
            }

            und die kombination von hintergrundgrafik und text fasse ich als div zusammen. da ist meiner meinung nach stylistisch nichts dran auszusetzen.

            Doch, es ist überflüssig und  macht deine Seite für viele unbrauchbar.
            Struppi.

      2. Hallo maglite

        so ein quark - warum benutzt du dann nicht einen link, den du auf die gewünschten maße bringst, und dem du ein hintergrundbild verpasst?

        weil auf dem hintergrundbild noch text steht

        Welches Problem hast du z.B. mit Folgendem?

        <a class="linkpassiv" href"index.htm">News</a>  
        
        
        a.linkpassiv {  
          display: block;  
          [deine Angaben]  
        }  
        a.linkpassiv:hover {  
          color: #000060;  
          background: url(dateien/navhover.jpg) repeat-y;  
        }  
        
        

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
        1. Welches Problem hast du z.B. mit Folgendem?

          <a class="linkpassiv" href"index.htm">News</a>

          
          >   
          > ~~~css
          
          a.linkpassiv {  
          
          >   display: block;  
          >   [deine Angaben]  
          > }  
          > a.linkpassiv:hover {  
          >   color: #000060;  
          >   background: url(dateien/navhover.jpg) repeat-y;  
          > }  
          > 
          
          

          Auf Wiederlesen
          Detlef

          leider das problem, dass auch hierbei der mauszeiger nur über dem text zum pointer wechselt, nicht über der hintergrundgrafik des div-elements.
          gruß, maglite

  3. Hallo,

    a.style.background = 'url(dateien/navhover.jpg) repeat-y;';
    a.style.cursor = 'pointer';

    der IE hat hier Probleme mit dem repeat-y, nicht mit cursor.

    Grüsse

    Cyx23

    1. der IE hat hier Probleme mit dem repeat-y, nicht mit cursor.

      Nein, das repeat-y wird korrekt dargestellt. Nur der Pointer wechselt nicht.

      1. Hallo nochmals,

        Nein, das repeat-y wird korrekt dargestellt. Nur der Pointer wechselt nicht.

        du solltest es einfach mal ohne repeat-y ausprobieren.

        Grüsse nochmals,

        Cyx23

        1. du solltest es einfach mal ohne repeat-y ausprobieren.

          hm, hast recht, die fehlermeldung stammt davon, darauf hätte ich kommen müssen.... ich hasse den ie.
          aber der cursor ändert sich immer noch nicht. :-(
          gruß, maglite

  4. Hi,

    Mit Firefox funktioniert alles prima, aber beim IE wird zwar die Grafik getauscht, aber der Cursor verwandelt sich nicht

    Komisch, da der IE 6 auch pointer kennt. Aber egal. Wie man mit JS für ale Browser den Cursor auf den Pointer setzt, findest Du z.B. in meinem Posting </archiv/2005/8/t114267/#m728346>

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!