Firefox bug?

Ak potrebujete pomoc alebo poradiť, píšte sem (len PC, elektronika atď.)...
DjYax
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 104
Registrovaný: 20 okt 2006, 15:09
Kontaktovať používateľa:

Firefox bug?

Príspevok od používateľa DjYax »

Praves skusam programovat web a narazil som na jeden problem... pozirte si to prosim na mojom webe priamo so zdrojakom, ked bude treba dolozim aj scripty...

Ide o to ze v menu ktore je dole sa ma pri kurzore ukazovat "bublina",ak je kurzor nad ikonou... IE aj Opera to robia perfektne ale v FireFoxe akoby mi nenacitalo poziciu alebo...neviem no prosim o radu...

Stretli ste sa uz s problemovym "onMouseMove" alebo s kombinaciou "Move" a "Over" ktora by robi problemy vo Firefoxe? Alebo to je fakt len scriptom...

Stranka:

Kód: Vybrať všetko

http://kubiq-design.wz.cz/kontakt.html
...a pre istotu aj kusok skriptu, ktory moze byt problemom:

Kód: Vybrať všetko

function mouse(e){
	e = window.event;
 	mouseY = e.pageY || e.clientY;
  	mouseX = e.pageX || e.clientX;
	document.getElementById("bubble").style.left = (mouseX-98)+"px";
	document.getElementById("bubble").style.top = (mouseY-90)+"px";
}
function Hide(d) {
	if (d == "home") {document.getElementById("img1").src = "b"+d+".png";}
	if (d == "who") {document.getElementById("img3").src = "b"+d+".png";}
	if (d == "pro") {document.getElementById("img4").src = "b"+d+".png";}
	if (d == "kon") {document.getElementById("img2").src = "b"+d+".png";}
	document.getElementById("bubble").style.display = "none";
}
function Show(d) {
	help = document.getElementById("bubble");
	help.style.display = "block";
	t = "<img src='clear.png' height='25px'/><br/><b>";
	if (d == "home") {
		document.getElementById("img1").src = d+".png";
		help.innerHTML = t+"Domovská stránka</b>";
	}
	if (d == "who") {
		document.getElementById("img3").src = d+".png";
		help.innerHTML = t+"Kto je KubiQ?</b>";
	}
	if (d == "pro") {
		document.getElementById("img4").src = d+".png";
		help.innerHTML = t+"Projekty</b>";
	}
	if (d == "kon") {
		document.getElementById("img2").src = d+".png";
		help.innerHTML = t+"Kontakt</b>";
	}
}
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To priradenie obsluhy pre udalosť onmousemove je zlé. Pri tej udalosti sa predáva parameter, v ktorom sú údaje o tej udalosti a ty ten parameter do tej funkcie nepredávaš. Potom to vo funkcii mouse zachraňuješ tým e = window.event; (to ale vo Firefox nefunguje).

Ak by si tam predal ten parameter, ďalší problém by bol získavanie tých súradníc. Vo Firefoxe je aj e.pageY a aj e.clientY (a v tom tvojom prípade by sa tam použila tá nesprávna hodnota e.pageY).
DjYax
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 104
Registrovaný: 20 okt 2006, 15:09
Kontaktovať používateľa:

Príspevok od používateľa DjYax »

...no skusal som to aj tak ze v html kode bolo
onMouseMove = "mouse(event)"
...a potom v scripte proste nebol ten riadok e = window.event...
Lenze nic sa nezmenilo... fungovalo to nadalej len v IE a Opere... alebo aj to je zle priradenie? ...lebo to EVENT nebolo v uvodzovkach, to som este neskusal dat to medzi " a " :P ...no neva... ak budu dalsie postrehy prosim piste... vazne sa neviem pohnut... zatial dakujem
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Môžeš vyskúšať

Kód: Vybrať všetko

onmousemove="mouse(arguments[0]);"
a v tej funkcii zmeň ten riadok na

Kód: Vybrať všetko

if (!e) var e = window.event;
Potom ešte budeš musieť upraviť to zisťovanie polohy kurzoru...

Každopádne vkladanie javascriptu do html kódu nie je najlepšie riešenie. Rozumnejšie je pridávať tú obsluhu udalostí cez javascript.
DjYax
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 104
Registrovaný: 20 okt 2006, 15:09
Kontaktovať používateľa:

Príspevok od používateľa DjYax »

Dakujem uz mi to slape... zrobil som nieco podobne ako si mi napisal:
*pribudla podmienka v samotnom scripte

Kód: Vybrať všetko

if (!e) e = window.event
*v html nastala zmena

Kód: Vybrať všetko

onMouseMove="mouse(event)"
...a neviem co si myslel tou polohou kurzora...ta ide v poriadku...hoci pri scrollovani kusok blbne ale to upravim tym ze sa pohram s poziciou fixed a absolute :) ...takze dakujem... problem je (asi) vyrieseny :)
Napísať odpoveď