Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Элемент двигается за курсором.


Автор: Innuendo 19.1.2006, 20:35
У меня есть вот такой код:
Код

<html>
<head>
<style>
.globalred{
                                 background: #F2DDDD;
                                 border: 1px solid #990000;
                                 border-top: 0;
                                 margin: 0px;
                                 padding: 0;
                             }

                             .globalred h4{
                                 background: #E3C0C0; 
                                 border: 1px solid #990000;
                                 border-left: 0;
                                 border-right: 0;
                                 color: #990000;
                                 font-size: 12px;
                                 font-weight: bold;
                                 margin: 0;
                                 padding: 5px;
                             }
                                 </style>
</head>
<body onmousemove="moveD(event)">
<script type="text/javascript">
<!--
function moveD(e){
var xPos =  e.clientX;
var yPos = e.clientY;
var div = document.getElementById('mydiv')
div.style.top = yPos+15;
div.style.left = xPos+10;
}
//-->
</script>
<div class= "globalred" id="mydiv"  style="position:absolute">
<h4>Зарегистрируйтесь!!!</h4>

</div>
</body>
</html>


Тока вот мне это нужно для форума, и у меня есть доступ только к шаблонам. Там доступа к body мне нет.
Как задать эту функцию в яваскрипте самом.
к примеру window.onmousemove = .... там не получается передать event.

Автор: DemoCode 19.1.2006, 20:53
Код

<html>    
<head>    
<style>    
.globalred{    
                                 background: #F2DDDD;    
                                 border: 1px solid #990000;    
                                 border-top: 0;    
                                 margin: 0px;    
                                 padding: 0;    
                             }    
                             .globalred h4{    
                                 background: #E3C0C0;    
                                 border: 1px solid #990000;    
                                 border-left: 0;    
                                 border-right: 0;    
                                 color: #990000;    
                                 font-size: 12px;    
                                 font-weight: bold;    
                                 margin: 0;    
                                 padding: 5px;    
                             }    
                                 </style>    
</head>    
<body onmousemove="moveD(event)">
<script type="text/javascript">    
<!--    
function moveD(e){    
var xPos =  e.clientX;    
var yPos = e.clientY;    
var div = document.getElementById('mydiv')    
div.style.top = yPos+15;    
div.style.left = xPos+10;    
}    
//-->    
</script>    
<table width="100%" height="100%"><tr><td valign="top" align="left">
<div class= "globalred" id="mydiv"  style="position:absolute">    
<h4>Зарегистрируйтесь!!!</h4>    
</td></tr></table>
</div>    
</body>    
</html>

Автор: Innuendo 19.1.2006, 23:36
DemoCode
Копи-Паст рулитsmile
Так у меня нету в шаблонах доступка к body тегу.
Мне нужно тогда в самом яваскрипте как-то.
Или поверх всего натянуть див невидимый размером с документ, и при движении на него вызывать функцию?
но может есть выход попроще?

Автор: 12345c 20.1.2006, 00:59
> у меня нету в шаблонах доступка к body тегу.

Код

document.onmousemove=function(ev){ ... и т.д. }


Автор: Innuendo 20.1.2006, 15:38
ухты, спасибо, да. Работает

Автор: DemoCode 20.1.2006, 15:51
Цитата(Innuendo @ 20.1.2006, 00:36 Найти цитируемый пост)

Копи-Паст рулит

При чём тут копи-паст. Я обрамил твой див, таблицей 100% на 100% и стало работать.

Автор: Innuendo 20.1.2006, 16:04
DemoCode
теперь вижу, только функция вызывалалась всё равно из боди, поэтому я так подумал..
На пустой странице так можно делать, а если страница не пустая, то получится что таблица выместит другие поля...

Автор: DemoCode 20.1.2006, 16:10
Цитата(Innuendo @ 20.1.2006, 17:04 Найти цитируемый пост)

На пустой странице так можно делать, а если страница не пустая, то получится что таблица выместит другие поля...

Так можно весь контент вставлять внутрь этой таблицы (она ве равно будет во всю страницу)
Добавлено @ 16:11
Хотя решение предложенное 12345с более правильное

Автор: Innuendo 20.1.2006, 18:43
Цитата(DemoCode @ 20.1.2006, 16:10 Найти цитируемый пост)

Хотя решение предложенное 12345с более правильное


проблема уже решена именно таким путём.

Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)