Probleme mit Ändern des Cursors
maglite
- javascript
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
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.
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
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
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
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
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
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
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
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
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.
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
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
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
der IE hat hier Probleme mit dem repeat-y, nicht mit cursor.
Nein, das repeat-y wird korrekt dargestellt. Nur der Pointer wechselt nicht.
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
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
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