2012-10-26 6 views
3

Я с веб-страницы (JSP), включавшие другой JSP с использованиемнастройка с помощью координат

 <%@jsp:include ... %> 

, когда я нажимаю на второй части (включены страницы), получая координаты с помощью

window.event.clientX 
    window.event.clientY 

и хранение в х и у. Теперь я устанавливаю DIV видимым на что мыши координат, как,

document.getElementById('division').style.top=x; 
    document.getElementById('division').style.left=y; 

, как ожидается, чтобы показать, что DIV на том же месте, где щелкнули мышью. Но подразделение приходит куда-то еще.

В чем причина этого?

+0

Вы позиционируете свой div как абсолютный или относительный? – freebird

+0

абсолютный только. –

+0

Имеет ли div какой-либо контейнер div, если он не попытается установить его относительно. – freebird

ответ

4

Главное свойство - это строка. Попробуйте document.getElementById('division').style.top=x + 'px';

Я пробовал следующий код, и он отлично работал для IE и Firefox. Onclick для IE, addEventListener предназначен для совместимых браузеров.

<div id="clickMe" style="position: absolute; top: 10px;" onclick="myClick();"> 
    clickMe 
</div> 
<div id="division" style="position: absolute; top: 40px;"> 
    division 
</div> 
<script type="text/javascript"> 
    var clickMe = document.getElementById('clickMe'); 
    clickMe.addEventListener('click', myClick, 'false'); 

    function myClick(e) { 
     var evt = e || window.event; //windows.event is for IE 
     var x = evt.clientX; 
     var y = evt.clientY;    
     document.getElementById('division').style.top = y + 'px'; 
     document.getElementById('division').style.left = x + 'px'; 
    } 
</script> 
Смежные вопросы