???rolloverscript mit image austauschen NOT in Linux/SuSe?
Patricia
- dhtml
Hi,
ich habe mit Dreamweaver eine Farbauswahl-RolloverFunktion kreiert, die einen Layer öffnet, auf dem noch mehr Farben zur Auswahl bereit liegen.
Der Layer bleibt so lange sichtbar, bis ein Image ausgewählt wurde, welches das schon sichtbare ersetzt.
Der Wert des ausgewählten Farbimage wird dann an ein Skript übergeben....
Unter Windows in Netscape und IE funktioniert alles Bestens.
Nicht aber unter Linux/SUSE im Mozilla und Netscape
wo liegt der Fehler??????
anbei das Skript
viele Grüße
Patricia
<script language="JavaScript" type="text/JavaScript">
<!--
function findObj(n, d) {
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=findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function showHideLayers() {
var i,p,v,obj,args=showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
function preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.p) d.p=new Array();
var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
function swapImage() { //v3.0
var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function swapImgRestore() { //v3.0
var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
color = "green";
function saveColor(col) {
color = col;
}
//-->
</script>
<BODY .......
<div id="coloreses" style="position:absolute; width:17px; height:66px; z-index:3 left; left: 287px; top: 233px; visibility: hidden; background-color: #FFFFFF; " onMouseOut="showHideLayers('coloreses','','hide')" onMouseOver="showHideLayers('coloreses','','show')" onClick="showHideLayers('coloreses','','hide')">
<img src="images/colors/red_d.gif" width="17" height="17" onMouseUp="swapImage('green','','images/colors/red.gif',1); saveColor('red')" ><br>
<img src="images/colors/green_d.gif" width="17" height="17" onMouseUp="swapImage('green','','images/colors/green.gif',1); saveColor('green')" ><br>
<img src="images/colors/yellow_d.gif" width="17" height="17" onMouseUp="swapImage('green','','images/colors/yellow.gif',1); saveColor('yellow')"></div>
hallo Patricia,
Unter Windows in Netscape und IE funktioniert alles Bestens.
Nicht aber unter Linux/SUSE im Mozilla und Netscape
mozilla/Netscape enthält eine "Javascript-Konsole", was sagt die denn dazu?
Und es wäre hier auch sinnvoll, wenn du angeben wolltest, welche mozilla/Netscape-Versionen du jeweils eingesetzt hast. Am besten lädst du eine Beispielseite auf irgendeine temporäre Adresse hoch, daß man sie sich anschauen kann.
anbei das Skript
An dem ist bei schnellem flüchtigem Durchlesen nichts Falsches zu bemerken.
Grüße aus Berlin
Christoph S.
Hallo Christoph und andere,
also es ist der Mozilla 1.3.1 und Netscape 7.0.
Ich habe auch gerade festgestellt, dass dieses Problem nur manchmal auftritt, was ich absolut nicht verstehe.
Hat jemand so etwas schon mal erlebt?? Die Auswahl im Layer funktioniert nicht, wenn die Seite lange offen war und öfters schon eine Auswahl im Layer getroffen wurde.
wo könnte da das Problem liegen?? Das array das die infos speichert hat max. Speichermögl. daran kann es also nicht liegen..
neustart usw auch nicht
wäre toll wenn jemand Rat wüsste
viele Grüße Patricia
hi,
also es ist der Mozilla 1.3.1 und Netscape 7.0.
Ok. Ich habe jetzt mal deinen Code in eine HTML-Datei gesteckt und mir in mozilla 1.4 erst auf Windows und dann auf SuSE (8.2) und dann noch auf FreeBSD 5.1 angeschaut. Ich sehe keine Unterschiede, und auch keine Probleme.
Ich habe auch gerade festgestellt, dass dieses Problem nur manchmal auftritt, was ich absolut nicht verstehe.
Etwas, was nicht reproduzierbar ist, hat dann häufig an irgendeiner anderen Stelle eine Ursache. Ist deine SuSE korrekt eingerichtet oder gibts da auch mit anderen Programmen gelegentlich OProbleme? Bist du beim Systemstart schonmal gebeten worden "run fsck manually"?
Grüße aus Berlin
Christoph S.
Hi Christoph,
den Rechner habe ich hingestellt bekommen und SuSe wurde von einem anderen installiert/eingerichtet(nachdem RedHat Probleme gemacht hat)
Es laufen nur mein Server und meine .js .php .html Seiten drauf.
oder gibts da auch mit anderen Programmen gelegentlich »» OProbleme? »» Bist du beim Systemstart schonmal gebeten »» worden "run fsck manually"?
nicht so direkt aber da es für mich sowieso neu ist, mit Unix zu arbeiten, kann ich schlecht sagen, ob das System schlecht eingerichtet ist, oder ob Programme schlecht laufen.
Irgendwie ist immer irgendetwas das nicht so läuft wie ich es gewohnt bin/will.
Meinst du man sollte ein neues Betriebssystem draufhauen??
Es ist sehr gut zu wissen, dass die Scripte bei dir laufen
vielen Dank
viele Grüße
Patricia
hallo,
den Rechner habe ich hingestellt bekommen und SuSe wurde von einem anderen installiert/eingerichtet(nachdem RedHat Probleme gemacht hat)
oh. Wenn ich mich zwischen RedHat und SuSE entscheiden müßte, würde ich RedHat vorziehen.
nicht so direkt aber da es für mich sowieso neu ist, mit Unix zu arbeiten, kann ich schlecht sagen, ob das System schlecht eingerichtet ist, oder ob Programme schlecht laufen.
Dein System liefert dir im Syslog eine Menge Hinweise, die du mal durchkucken solltest. Und wenn du jetzt nicht weißt, was "Syslog" ist, liest du bitte bei http://www.selflinux.org nach.
Meinst du man sollte ein neues Betriebssystem draufhauen?
Nein. Sollte tatsächlich am System was nicht in Ordnung sein, gibt es eine Menge Reparaturmechanismen (viel mehr als bei Windows). Du kannst auch ein Update deiner installierten Programme fahren (das geht bei SuSE über YAST2 oder aber manuell).
Christoph S.
Hallo Christoph,
Du hast mir sehr geholfen
Vielen Dank
Grüße Patricia