PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mouse-over effekt will nicht im mozi



BLUESCREEN3D
27-10-2003, 19:03
warum funzt folgendes nur im IE und wie kriege ich da im mozi hin?


<td background="normal.gif"
onMouseOver="this.background='effekt.gif'"
onMouseOut="this.background='normal.gif'">

bischi
27-10-2003, 20:10
Dies ist Java-Script - darum funzt es nicht. Lösung: Keine Ahnung.

MfG Bischi

BLUESCREEN3D
27-10-2003, 20:21
Original geschrieben von bischi
Dies ist Java-Script - darum funzt es nicht.

die einstellung habe ich auch zu javascript
was javascript so alles (nicht) macht ist gegen jede logik...

Jana
28-10-2003, 10:41
Ich muß dringend wegfahren. Die warten schon auf mich! Deswegen eine Lösung, die etwas oversized ist.
Man kann damit noch wesentlich mehr machen incl. vorladen.



<script language="JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//-->
</script>



<div ID="lay1">
<A href="#" onclick="MM_swapImage('austausch','','../pics/b1.jpg',0)" ><img border="0" width="100" height="67" name=f )"
src="../pics/b1.jpg" width="100"></A>
<A href="#" onclick="MM_swapImage('austausch','','../pics/b2.jpg',0)" ><img border="0" width="100" height="67" name=g )"
src="../pics/b2.jpg" width="100"></A>
</div>


<div ID="lay2">
<img src="../pics/b23.jpg" width="409" height="277" border=0 name="austausch">
</div>

axeljaeger
28-10-2003, 12:00
this.background ist sehr mutig, vielleicht hilft dir http://de.selfhtml.org/javascript/beispiele/buttons.htm oder die Überlegung, das du das mit stylesheets machen solltest, etwa so: this.style.backgroundImage = "url(<pfad>)";

Pingu
28-10-2003, 15:26
Warum machst Du es nicht mit CSS?
z.B.


<style>
td { background: transparent url(/images/normal.png} 0 0 no-repeat; }
td:hover { background-image: url(/images/hover.png); }
</stye>
[..]
<td>Text</td>


oder



<style>
td.hover-style { background: transparent url(/images/normal.png} 0 0 no-repeat; }
td.hover-style:hover { background-image: url(/images/hover.png); }
</stye>
[..]
<td class="hover-style">Text</td>


oder



<style>
td#special-style { background: transparent url(/images/normal.png} 0 0 no-repeat; }
td#special-style:hover { background-image: url(/images/hover.png); }
</stye>
[..]
<td id="special-style">Text</td>


Links und Möglichkeiten zum CSS findest Du im CSS Zen Garden (http://www.csszengarden.com)

Pingu

PS: Folgendes habe ich bei selfHTML (http://selfhtml.teamone.de) gefunden:
Das Gleiche ist mit dem Attribut background= möglich, um eine Hintergrundgrafik für die Tabelle oder einzelne Zellen einzubinden. Dieses Attribut ist jedoch im Zusammenhang mit Tabellen nicht HTML-konform und kommt im obigen Beispiel auch nicht vor. Entsprechend habe ich das Attribute im Bereich DHTML auch nur für das Body-Element gefunden.

bischi
28-10-2003, 16:56
Doch, klingt überzeugend!

MfG Bischi

BLUESCREEN3D
28-10-2003, 17:12
erstmal danke für die ganzen antworten, auch wenn im endeffekt was anderes gefunzt hat :D

erstmal zu css: ich benutze immer css, aber weil nach 7 stunden zu zweit rumprobieren rein garnichts ging haben wir es auch mal ohne css ausprobiert...

die lösung von jana hab ich schon bei mehreren websiten gesehen, würde sie aber nie benutzen, weil viel zu unübersichtlich

"this" hab ich nurbenutzt, weil nie ganz klar war, wo der fehler lag, und was mit welchem browser wie funzt...

die lösung von pingu mit dem :hover-pseudo-style hatte ich vorher schonmal ausprobiert, funzte komischerweise erstmal nicht, ist aber egal, weil mich das nicht weitergebracht hätte, da das eigentliche problem etwas komplexer war, als ich die frage hier gestellt habe (habe trotzdem nur mit td die frage gestellt, weil nichtmal das ging...)

eigentlich war nämlich folgendes geplant (hätte ich auch dazugeschrieben, wenn ich zu dem zeitpunkt nicht schon 5 stunden rumoprobiert gehabt hätte...):
-eine td-zelle mit einem link drin
-wenn man mit der maus auf den link geht soll sich das hintergrundbild von der td-zelle ändern



inzwischen klappt es so:

<td id="bla" style="background-image:url(normal.gif)">
<a
onmouseover="document.getElementById('bla').style.backgroundIma ge='url(mo.gif)'"
onmouseout="document.getElementById('bla').style.backgroundIma ge='url(normal.gif)'"
>
DIES IST EIN LINK
</a>
</td>

precaching kommt auch noch rein, aber wie gesagt - da nichts ging, habe ich erstmal vereinfacht