Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

HTML&JS-Problem! (onMouseOut + onMouseOver in TDs)

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 14.02.2007 um 15:17 Uhr
Zuletzt editiert am: 14.02.2007 um 15:25 Uhr

Sers,

ich hab ne funktion, mit der ich ein bild, welches sich in einem TD befindet, beim Drübefahren über das TD per onmousover verkleinere. Beim Rausfahren wirds per onmouseout wieder groß gemacht (klappt alles im FF + Opera = problemlos, NS + IE = stress)

das bild befindet sich im TD, und komischerweise ist das wohl der grund, dass IE und NS das bild nichtmehr als "zum td gehörig" sehen und dann onmousout ausführen, sobald ich über das bild fahre!

beim IE gibt das ein nerviges zuckeln und der NS machts komlett falsch... NS macht das bild so klein, dass es irgendwann nicht mehr da ist (bei jedem mal drüberfahren)

wie behebe ich das problem?

würde mich über ERNSTGEMEINTE hilfe freuen!
Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 14.02.2007 um 17:54 Uhr

Hi,
kannst du n bissel Code posten, ich denke, ich verstehe worauf du hinauswillst aber ich würde gerne deinen Code mal sehen, vllt. fällt mir ein, was du meinst.BTW. tables als Stylingmittel müssen nicht sein ;-).

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 14.02.2007 um 18:08 Uhr
Zuletzt editiert am: 14.02.2007 um 18:10 Uhr

jo, kein problem...

Die funktion:

function pichover(id, mode)
{
var div = "div"+id;
var td = "td"+id;
var pic = "pic"+id;
var div2 = "div2_"+id;

if(mode == "show")
{
document.getElementById(td).style.backgroundColor = "#EFEFEF";
document.getElementById(pic).height = (document.getElementById(pic).height/100)*75;
document.getElementById(div2).style.display = "none";
document.getElementById(div).style.display = "block";
}
else if(mode == "hide")
{
document.getElementById(td).style.backgroundColor = "#FFFFFF";
document.getElementById(pic).height = (document.getElementById(pic).height/75)*101;
document.getElementById(div2).style.display = "block";
document.getElementById(div).style.display = "none";
}
}


TD:


< td width="115" id="td2"
onmouseover="pichover('2', 'show')"
onmouseout="pichover('2', 'hide')"
align="center" valign="top" >
< img src="fotos/2/t/1171150355.jpg" alt="-" id="pic2" title="Dieses Bild hat keinen Namen" border="0" align="middle" />

< div id="div2" style="display: none" >
11.02.2007 - 00:32
< /div >
< div id="div2_2" style="display: block">
20.26KB < /div >

< /td >



Zitat von Polaris:

.BTW. tables als Stylingmittel müssen nicht sein ;-).


ja, ich weiß schon
ich wollte eigentlich auch komplett auf layer & divs umsteigen, aber das ist halt schon sehr viel arbeit (wenn man da nur an die ganzen Browser denkt :kotzer: ...)


fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 14.02.2007 um 19:08 Uhr

würde es irgendwie gehen, dass ich n layer mit der größe des TDs genau über das TD lege? der layer soll dann halt onmouseOUT/OVER ausführen lassen.... (falls das geht und von allen gänigen Browsern unterstützt wird)
McPommes - 51
Experte (offline)

Dabei seit 09.2006
1422 Beiträge
Geschrieben am: 14.02.2007 um 20:34 Uhr
Zuletzt editiert am: 14.02.2007 um 20:39 Uhr

Gerade bei diesen Funktionen wie getElementById gibts Unterschiede bei den Browsern.
Gib dir mal mit alert die gefundenen Elemente aus, ob die überhaupt bekannt sind.

Und übrigens, wenn du ein Bild in einer Tabellenzelle hast und die Größe vom Bild veränderst, dann zerschießt dir das doch die komplette Tabelle. Ich weiß nicht was für Effekte das dann nach sich zieht.

Noch ein Edit, kanns vielleicht sein dass das Bild beim MouseOver kleiner wird, es damit unter der Maus verschwindet und daraufhin der MouseOut ausgelöst wird?
Und die Funktion rechnet im Modus Show das Bild immer kleiner, so wie es aussieht.


*** diese Fusszeile verschwendet 45 Bytes ***

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 14.02.2007 um 21:04 Uhr

Zitat von McPommes:

Gerade bei diesen Funktionen wie getElementById gibts Unterschiede bei den Browsern.
Gib dir mal mit alert die gefundenen Elemente aus, ob die überhaupt bekannt sind.



welche elemente?

Zitat von McPommes:


Und übrigens, wenn du ein Bild in einer Tabellenzelle hast und die Größe vom Bild veränderst, dann zerschießt dir das doch die komplette Tabelle. Ich weiß nicht was für Effekte das dann nach sich zieht.

dachte ich erst auch, aber dann würden sich ja auch die bilder und alles andere, was darunter / daneben kommt, auch verschieben, was nicht der fall ist.

Zitat von McPommes:


Noch ein Edit, kanns vielleicht sein dass das Bild beim MouseOver kleiner wird, es damit unter der Maus verschwindet und daraufhin der MouseOut ausgelöst wird?


ja, aber die Events stehen doch im TD-Tag...

Zitat von McPommes:


Und die Funktion rechnet im Modus Show das Bild immer kleiner, so wie es aussieht.


richtig. Wenn ich beides mal "100" mache, dann ist das bild beim wegfahren in allen browsern um 1px zu klein... darum 101
McPommes - 51
Experte (offline)

Dabei seit 09.2006
1422 Beiträge
Geschrieben am: 15.02.2007 um 07:06 Uhr

Ich hab da noch n bisschen was falsch verstanden.
Inzwischen haben wir es ja gelöst, oder?
:daumenhoch:

*** diese Fusszeile verschwendet 45 Bytes ***

fat32
Experte (offline)

Dabei seit 09.2006
1465 Beiträge
Geschrieben am: 15.02.2007 um 14:24 Uhr

Zitat von McPommes:

Ich hab da noch n bisschen was falsch verstanden.
Inzwischen haben wir es ja gelöst, oder?
:daumenhoch:


Ja, danke nochmal...

Das Problem mit dem IE ist behoben, bleibt nur noch das mit dem NS... (aber laut statistik haben nur noch 0,3% NS)


  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -