Autor Zpráva
Kadel
Profil
ahoj, potreboval bych javaskriptove vyresit nasledujici:

mam obrazek(nejlip asi input type=image), kliknu na nej a tim predam funkci souradnice na ktere jsem klikl.... chtel bych to bez odeslani formulare(to znamena bez zbytecnyho nacitaci stranky) mohl by nekdo pomoct? diky
Leo
Profil
K temhle informacim nema JavaScript pristup, on kupodivu nema input type="image" v elements daneho formulare, takze musite pracovat s objektem event a ruznymi jeho vlastnostmi, popisujicimi souradnice mysi... Leo
Kadel
Profil
javascript kupodivu nema input type="image" v elements daneho formulare
aha, to je ta chyba kterou jsem neobjevil :)

takze musite pracovat s objektem event
ale na jakpsatweb.cz jsem se docetl ze window.event nefunguje v jinde nez v exploreru....cili je to v podstate uz nepouzitelne, neni ve firefoxu neco podobneho?


ted me napadaji dve docela schudna reseni, mohl bych to delat pres php(to bych ale musel vzdy nacitat stranku, coz je pri mem zameru nevhodne
nebo bych mohl ten obrazek co mam rozrezat na mensi a u tech pouzit onclick(jednalo by se nejspis o rozrezani na 16 obrazku 2 x 16px

ke ktere variante by jste se priklaneli? nejake argumenty? dekuji
habendorf
Profil
Kdysi jsem dělal takovou blbůstku, mrkni do kódu na http://www.1-webdesign.cz/pokusy/lupa/index.html
To odchytávání pohybu myši si z toho vytáhni a dále použij jak potřebuješ.
Kadel
Profil
diky moc.... pekna blbustka :)
peta
Profil *
habendorf S tou mysi je to o dost komplikovanejsi nez tam uvadis...

var mysX,mysY;
function myska(e)
{
var d,b;
if (!e) {var e=window.event;} //IE mouse event
if (e.pageX || e.pageY) //other
{mysX=e.pageX; mysY=e.pageY;}
else if (e.clientX || e.clientY) //IE
{
d=document; d=d.documentElement?d.documentElement:d.body;
mysX=e.clientX+d.scrollLeft; mysY=e.clientY+d.scrollTop;
}
}
document.onmousemove=myska;
Kadel
Profil
S tou mysi je to o dost komplikovanejsi nez tam uvadis...

nojo....kdyz se okno zmensi a odroluje tak je to tam potreba......

jednu vec tu ale dost dobre nechapu.....
proc se v radku
document.onmousemove=myska;

nepisou zavorky jako normalne u funkce?
Leo
Profil
"nepisou zavorky jako normalne u funkce?"

Protoze to neni VOLANI fce (pak by tam byly ty zavorky). Leo
Oswald
Profil
Kadel
Protože se do "document.onmousemove" ukládá odkaz na funkci samotnou (která se zavolá až při události), ne její návratovou hodnotu. Zkus si alert(myska) a alert(myska()) a uvidíš ten rozdíl.
peta
Profil *
Kadel
V podstate to lze napsat
myska(), jenze, pak nedostane FF nevratovou hodnotu v
function myska(e) , konkretne to "e" a tim padem nedokaze nic udelat.
V IE to fungovat bude, protoze pro IE beres souradnice z window.event.
To ostatni uz bylo receno, tomu ani ja moc nerozumim. Proste jsem to zkusil tak i onak a zjistoval, proc ot neslo a ponechal si funkcni verzi :)
Kadel
Profil
d=document; d=d.documentElement?d.documentElement:d.body;
tohle mi v exploreru nefungovalo spravne...
nasel sem funkci ktera spravne urci var d

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

pak staci zaspi var d=ietruebody();

zdroj: http://interval.cz/clanky/nahled-dokumentu-pri-prejeti-odkazu-mysi-jav ascriptem/
Leo
Profil
Rekl bych, ze s document.documentElement by v dnesnich verzich prohlizecu nemel byt problem... Leo
Kadel
Profil
Rekl bych, ze s document.documentElement by v dnesnich verzich prohlizecu nemel byt problem... Leo

nevim....mozna sem mel chybu nekde jinde ale s document.documentElement mi to v IE6 nebezelo a kdyz sem dal to co jsem psal, tak to bezelo.....takhle do hloubky jsem radsi javascripty nestudoval protoze me vylozene stve jak nic v exploreru nebezi. Navic mam doma jen OS freeBSD takze ani nemam IE doma..... doufam ze tudle blbost brzo dodelam abych nemusel trpet ve skole (mame tu hrozny sunky :) )
Leo
Profil
"s document.documentElement mi to v IE6 nebezelo"

Zvlastni, me to beha... Leo
peta
Profil *
Kadel
xatchat.sk
Ale je treba se nalogovat na
xatchat.sk/....portal/
a po prejeti prezdivky mysi se zobrazi informace.
Podle mne to beha uplne bez problemu.
Pravdepodobne jsi neco spatne zkopiroval. ja tam mam var uplne na zacatku.
peta
Profil *
Kadel A propo, kdyz uz se davas interval a DynamicDrive, vsimni si, jaky komplikovany script tam pouzivaji pro mysicku. Verim, ze to ma nejaky dobry duvod...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0