Autor Zpráva
neref
Profil *
Potřeboval bych vychytat interaktivní graf pomocí JS/CSS.
Mám obrázek grafu a já bych potřeboval do toho dodělat následující vychytávku viz. příklad na obrázku:



Obrázek je zobrazen přes JS v (id DIV). Potřebuju jen rozchodit právě to zobrazování vertikální linky při pohybu myší nad obrázkem, tak aby bylo možné nějak přepočítávat aktuální horizontální polohu myši v rámci toho obrázku, (obrázek bude vždy stejně široký).
Jak bych měl nato jít?

Díky za tipy
neref
Profil *
... študuju na tom sám a jediné co se jeví jako vhodné je využití události offsetX / layerX, ale nejde to v Mozille a buhví kde ještě. Dobré je to v IE.
a též neumím zatím nalepit na ten kurzor tu vertikální čáru....


Javascript:

function funkce(e)
{
  var event = e || window.event;
  var x = event.offsetX || event.layerX;
  
  alert(x);
  
}


<div id="ido" style=";width:500px;height:200px;background:orange" onclick="funkce()"></div>
//div s tím obrázkem grafu
Chamurappi
Profil
Reaguji na nerefa:
ale nejde to v Mozille a buhví kde ještě
Jde. Buď přiřaď funkci do onclicku:
document.getElementById("ido").onclick = funkce;
… nebo ji v tom atributovém zápisu volej s argumentem event.
neref
Profil *
s tím getElementById to přestane fungovat uplně všude.... a když dám onclick="funkce(event)" do div tak si Mozilla 3.6 tvrdošijně odměřuje polohu od levé strany obrazovky a ne od začátku toho divu, a to je divné!

Vše mám kódované jak jsme uvedl výše....
Chamurappi
Profil
Reaguji na nerefa:
s tím getElementById to přestane fungovat uplně všude
Nedávej skript do hlavičky. Nemůžeš přiřadit onclick k elementu, který zatím neexistuje.

Mozilla 3.6 tvrdošijně odměřuje polohu od levé strany obrazovky
Nastav obrázku position: relative.
neref
Profil *
Pardón s tím getElementById to byla moje blbost (jeden překlep) - funguje to.

Ovšem to počítání osy X v Mozille nepochopitelně probíhá i nadále od levého rohu obrazovky a v IE správně od začátku toho div. Co s tím?
neref
Profil *
JJ position: relative pomohlo, doufám že se na to dá spolehnout i pro ostatní prohlížeče.
dík

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0