первое событие - PullRequest
       47

первое событие

0 голосов
/ 04 февраля 2012

Я хочу изменить левый и верхний элемент стиля с помощью javascript для события onmousemove, но он не работает.

Мой код для события onmousemove:

function mymove(e)
{
var event=new MouseEvent(e);
    x = 20;
    y = 10;     

    document.getElementById('mye').style.left = event.pageX + x+'px' ;
    document.getElementById('mye').style.top = event.pageY - y+'px';


    }

1 Ответ

3 голосов
/ 04 февраля 2012

Гадание на разметке и CSS. Кроме того, я думаю, что свойства e могут измениться для каждого браузера. Это работает в Firefox (9).

CSS

#mye {
    height: 25px;
    width: 250px;
    position: absolute;
    background: #ddd;
}

Разметка

<div id="mye">Content</div>

Javascript

var mymove = function (e) {
    var x = 20,
        y = 10,
        mye = document.getElementById('mye');

    mye.style.left = (parseInt(e.clientX) + x) + 'px';
    mye.style.top = (parseInt(e.clientY) - y) + 'px';
};

// Don't forget to add this in an onload or ondomready.
document.getElementById('mye').onmousemove = mymove;

http://jsfiddle.net/3YdEa/6/

И обратите внимание, как упоминает Джеффри Суини, прикрепление к window.onmousemove, вероятно, более распространено:

window.onmousemove = mymove;

http://jsfiddle.net/3YdEa/7/

Здесь Quirksmode в ситуации свойства положения события мыши. Это несколько лет, однако.

Вот еще один вопрос StackOverflow и, конечно, jQuery's $.mousemove(), который устранит различия между браузерами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...