Autor Zpráva
PetraPP
Profil
Zdravím,
potřebovala bych přes javascript zobrazovat polohu myši, avšak ne jako X a Y, ale pomocí procent. Obrázek má v podstatě W: 100% | H: 100% a myší když najedu na určitou část obrázku, tak potřebuji zjistit procenty TOP a LEFT ... kde jsem.

Jak toho docílím? Hledala jsem na internetu a našla pouze tohle: jsfiddle.net/UCFtB/1. Jenže tam je přes CSS daná velikost. Potřebuji ale, aby javascript si velikost určil sám podle velikosti obrázku.

Hrozně moc děkuji za výpomoc.
Tomášeek
Profil
PetraPP:
Mas X a Y. Obrázek má 100%, rozměry okna (a tedy i obrázku) v JS znáš také. Kde je problém?
PetraPP
Profil
Obrázky budou různé. Budu jich mít více pro které chci zjišťovat polohu x a y. Tak že potřebuji to mít automaticky, aby JS zjistil sám velikost obrázku a přes obrázek vypsal hodnoty procenty X a Y. Bohužel vůbec netuším jak to udělat.
Za každé rady budu hrozně moc ráda.
Tomášeek
Profil
PetraPP:
Víš vůbec ty sám, co chceš?
Obrázek má v podstatě W: 100% | H: 100%“ vs. „Obrázky budou různé.

Každopádně:
- polohu levého horního pixelu obrázku v JS (v rámci screenu i dokumentu) znáš
- rozměr obrázku znáš
- polohu myši znáš.

To by mělo být vše, co pro výpočet potřebuješ. Projev trochu vlastní snahy a pak se vrať.

Teď ještě koukám na ten JSFiddle a on teda mimochodem i ten odkázaný script funguje a procentuální šířku počítá (a ne, opravdu to není tím, že jsou v CSS zadané rozměry).
PetraPP
Profil
Vůbec mně to nechce fungovat a nevím proč :( Hrozně moc budu ráda za jakoukoliv výpomoc.

jsfiddle.net/o5rec2hm
Tomášeek
Profil
PetraPP:
Protože řádek $(this).html(percx + " | " + percy + " perc"); je pro obrázek nesmyslný.
PetraPP
Profil
Tomášeek: Já opravdu nemám tušení, co tam má být :( Hrozně moc prosím o pomoc, moc :(
Tomášeek
Profil
PetraPP:
Tak ještě jednou. Kód $(this).html(...) je pro obrázek nesmyslný.
Kajman
Profil
A ten javascript musí být spuštěný až ve chvíli, kdy DOM obsahuje element pro obrázek (nebo ho navěsit na událost jinak).
jsfiddle.net/h4jc65dn

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0