Autor | Zpráva | ||
---|---|---|---|
xslove Profil |
#1 · Zasláno: 28. 7. 2006, 23:33:31
ahoj, udělal jsem následující stránku, kde je úpln vlevo nahoře umístěný obrázek a pod ním je element, kde se vypisují souřadnice X a Y umístění tohoto obrázku a dále souřadnice myši event.clientX a event.clientY. podivný chování jeví IE 6.0, když najedu na levý horní roh obrázku vypíše souřadnice umístění obrázku 10:15 ale souřadnice myši 12:17 . mozilla vypíše souřadnice totožné.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <body onmousemove="dox(event);"> <script type="text/javascript"> /** * Něco jako innerText, ale pomocí DOM */ function dominnerText(node, text) { while (node.hasChildNodes()) { node.removeChild(node.firstChild); } node.appendChild(document.createTextNode(text)); } // works in IE and Mozilla. function getElementPosition(element){ var x=0,y=0; while (element!=null){ x+=element.offsetLeft-element.scrollLeft; y+=element.offsetTop-element.scrollTop; element=element.offsetParent; } return {x:x,y:y}; } // Browser compatible element getter function getElement(id){ if (document.all) return document.all[id]; if (document.getElementById(id)) return document.getElementById(id); return null; } // generic display function function findElement(id){ // Get the element by its id element = getElement(id); // make sure that the element was found if (! element) return; // get the object that will contain the x,y coordinates return position = getElementPosition(element); } function dox(e) { // pozice obrazku (resp cehokoli s ID, asi) var pozice = findElement('mapx'); var poz_x = pozice.x; var poz_y = pozice.y; dominnerText(document.getElementById('wgs'), "poz: " + poz_x + ":" + poz_y + " event: " + e.clientX + ":" + e.clientY ); } </script> <img id="mapx" src="pulse.jpg" width="600" height="400" alt="ural" title="Ural na ukrajině" onmousemove="dox(event);" /> <br/> <span id="wgs">xxxx</span> </body> |
||
nightfish Profil |
#2 · Zasláno: 29. 7. 2006, 00:00:52
a dotaz je?
|
||
DJ Miky Profil |
#3 · Zasláno: 29. 7. 2006, 00:02:00
xslove
Nevím, jak to přesně myslíš, ale nedělá to nějaký margin toho obrázku nebo body? |
||
habendorf Profil |
#4 · Zasláno: 29. 7. 2006, 02:28:16
udělal jsem následující stránku
/** * Něco jako innerText, ale pomocí DOM */ function dominnerText(node, text) { while (node.hasChildNodes()) { node.removeChild(node.firstChild); } node.appendChild(document.createTextNode(text)); } http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=5&topic=20 0 |
||
peta Profil * |
#5 · Zasláno: 29. 7. 2006, 07:30:03
xslove
Jsi zadej kolem obrazku ramecek. Resp. dej kolem obrazku span a tomu dej ramecek. Problem totiz je, ze mozilla ma nejak zvlastne udelany obrazek, ze tam ma bud: line-height / font-size / margin / padding jinak. habendorf to nejak nechapu, co jsi chtel rici:) ja treba pouzivam toto na vycisteni: function objDel(o) {while (o.childNodes.length) {o.removeChild(o.childNodes[0]);}} Ale nevim, co je rychlejsi a jistejsi... |
||
xslove Profil |
#6 · Zasláno: 29. 7. 2006, 09:56:19
no dotaz je, jestli nekdo nevi jak to obejit v IE, protoze podle reseni mozilli je to spravne. akorat ten IE vraci blby souradnice o 2px.
ps: to s tim spanem kolem obrazku se chova uplne stejne v IE |
||
peta Profil * |
#7 · Zasláno: 29. 7. 2006, 15:37:56
xslove
line-height / font-size / margin / padding (proste si to vynuluj, postupne a uvidis, ktere na to ma vliv) nebo prepni u FF -moz-borderbox nebo, jak se ta vlastnost jmenuje. nebo si dej detekci IE a odpocitavej si ty 2 pixely rucne :) var isIE=(document.all && !window.opera)?1:0; |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0