Консультация № 160890
19.02.2009, 12:45
0.00 руб.
0 1 1
Здравствуйте.
Скажите пожалуйста: Есть текстовое поле,когда на него наводишь курсор то выплывает подсказка ,но дело в том ,что координаты слоя position:absolute; и position:relative ; по разному считаются в opera, ie и Firefox и поэтому подсказка в этих трёх браузерах появляется в разных местах , можно ли как то сделать ,что бы она появлялась в одном и том же месте в этих трёх браузерах?
Спасибо.

Обсуждение

Неизвестный
19.02.2009, 13:24
общий
это ответ
Здравствуйте, Dima1967!
Попробуйте использовать координаты курсора мыши при прорисовке подсказки а не координаты слоя

Вот пример реализации, проверил и в Файрфоксе 3.0.6 и в Експлорере 6 работает

Приложение:

<script language="javascript">

function showTip(text,event){
if(!event)event = window.event;
var mouseX = event.clientX;
var mouseY = event.clientY;
var div=document.getElementById('tip');
//alert(mouseX + 'x' + mouseY);
div.style.left = (mouseX+5) + 'px';
div.style.top = (mouseY+5) + 'px';
div.style.display = 'block';
div.innerHTML = mouseX + 'x' + mouseY;


}

function hideTip(){
var div=document.getElementById('tip');

div.style.display = 'none';

}
</script>
<div style='position:absolute; left:30; top:40; width:100px;'>
<div style="position:relative;" onmousemove="showTip('aaa',event)" onmouseout="hideTip()">
<input type="text" id="someId" name="someName" value="" />
</div>
</div>
<div id='tip' style='position:absolute; display:none; background:#000;width:50px;height:50px;color:#FFF'>
 
</div>
Форма ответа