mám script pro ukazování souřadnic v obrázku...bohužel mi nefunguje ve firefoxu..nevíte jak to udělat aby to fungovalo i ve firefoxu? děkuju předem
function ukazsouradnice()
{
var x=window.event.x;
var y=window.event.y;
document.all.obrazek.value = "(" + x + "," + y + ")";
}
<input type="text" name="obrazek" size="6" value="(0,0)">
citron (renet.borec.cz)
google.com - crossbrowser mouse cursor
http://www.volny.cz/peter.mlich/www.htm#mssub9
# www.volny.cz/peter.mlich kurzor - pismenkovy had (3k) (letter snake)
# www.volny.cz/peter.mlich kurzor - kruh (4k) (circle)
# www.volny.cz/peter.mlich kurzor - pruzinky (6k) (elastic trail)
Mne to funguje. Cim to asi je? Chces to vedet?
google.com - javascript "document.all" mozilla
google.com - javascript "document.all" firefox
dobře...tak když vynecháme zastaralé document.all a dáme
function ukazsouradnice()
{
var x=window.event.x;
var y=window.event.y;
document.getElementById("obrazek").value = "(" + x + "," + y + ")";
}
<img onmousemove="ukazsouradnice()" src="obrazek.jpg">
<input type="text" name="obrazek" id="obrazek" size="6" value="(0,0)">
tak to pořád nejde ve firefoxu
citron (renet.borec.cz)
Vidim, ze problem zcela nechapes. To neni jen document.all
Dival ses vubec na me strance na ty priklady? Mne to vsechno funguje. Hledej chybu.
Co ti pise JS konzola? V IE, FF, O?
Tak jsem se porozhlédl po gúglu a našel toto. Ve firefoxu mi to souřadnice po kliknutí ukazuje:
http://www.emanueleferonato.com/2006/09/02/click-image-and-get-coordinates-with-javascript/
A k čemu to potřebuješ?
Nevystačil by sis s <input type="image"> ?
peta:
1) ano, koukal jsem na příklady, ale nechápuje je
2) FF mi nepíše žádnou chybu
3) možná by bylo lepší to napsat pokud víš v čem je problém
zbi:
1) mě to trošku blbne ve firefoxu...ale souřadnice ukazuje, prostuduju
tom:
1) klikací mapa
2) "<input type="image">" změnilo by to něco na tom?
citron:
"1) klikací mapa" a na to potřebuješ JS? Nejsou na to náhodou vlastní fce přímo v HTML?
"2) "<input type="image">" změnilo by to něco na tom?" určitě. Odpadnou problémy se zjišťováním pozice, protože browser přes _GET vrací x a y souřadnici kliknutí na obrázku.
Aneb proč to dělat jednoduše, když to jde složitě ;)
function ukazsouradnice(event){
x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("obrazek").offsetLeft;
y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("obrazek").offsetTop;
document.all.souradnice.value = "("+ x + "," + y + ")";
}
vyřešil jsem to takhle a dokonce to i funguje ve všech prohlížečích, teď však při najetí v IE 7 (nevím jak v 6) najedu na souřadnice (0,0) tak místo 0,0 to napíše NaN
zatímco předchozí script
function ukazsouradnice()
{
var x=window.event.x;
var y=window.event.y;
document.all.obrazek.value = "(" + x + "," + y + ")";
}
takový problém nebyl...jak by se to mělo řešit?
Tom:
a mohl by si mi ukázat nějaký příklad s těma souřadnicema přenášené pomocí _GET?
citron (renet.borec.cz)
typoval bych to na
1.
parseInt()
0px neni 0, 0px/10 = 1/10 nebo NaN
2.
x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("obrazek").offsetLeft;
x = null ? null : NaN - NaN; -> NaN
x = null ? null : 234 - NaN; -> NaN
x = null ? null : 234px - NaN; -> NaN
x = null ? null : 234px - 20; -> NaN
x = null ? null : 234px - 20px; -> NaN
pro ten IE7, zkus jednotlive casti vypsat pres alert
alert(event.offsetX)
alert(event.pageX)
alert(document.getElementById("obrazek").offsetLeft)
Pořád netuším, co to má dělat ... asi budu magor :(
Pokud by to mělo jenom umět přecházet podle souřadnic kliknutí na jiné stránky / provádět nějaké FCE, tak by mělo stačit něco jako:
<img src="dimg.png" usemap="#map">
<map name="map" id="map">
<area shape="rect" coords="0,10,11,20" onmouseover="zobraz(1)" href="javascript:kliknul(1)" alt="Funkce1">
</map>
Pokud by ti ani to nestačilo a měl by jsi nějaké speciální přání, tak něco jako:
<script>
var pole = window.location.search.substr(1).split("&");
var httpGetVars = new Array();
for(i = 0; i < pole.length; i++){
httpGetVars[pole[i].split("=")[0]] = unescape(pole[i].split("=")[1]);
}
document.write("X: " + httpGetVars["x"]);
document.write("<br>Y: " + httpGetVars["y"]);
</script>
<form action="#" method="get">
<input type="image" src="obr.png">
</form>
Je to obšlhnutý z Jakpsatweb.cz, ... takže je to jenom tková demonstrace že to něco dělá, takže si to kdyžtak uprav...
peta:
1) mno pokud najedu na 0,0 a ukáže mi to NaN a kliknu tak na alertu je 0 ale zobrazí se mi pořád NaN
2) x = parseInt(event.offsetX?(event.offsetX):event.pageX-document.getElementById("obrazek").offsetLeft); - nefunguje
Tom:
nejseš magor, vážím si každé pomoci, zkusím to prostudovat a pak se rozhodnu co bude lepší, děkuju
udělal jsem to tedy takhle:
pos_x = event.offsetX+1?(event.offsetX):event.pageX-document.getElementById("obrazek").offsetLeft;
přičetl jsem jedničku...chci se zeptat jestli je to dobré řešení nebo jestli by se celkově celý script měl napsat jinak