マウスの後にオブジェクトをフォローする機能があり、オブジェクトを非表示にすることなく、自由にフォローを停止および開始できるようにしたいと考えています。
ほぼ思った通りに動作し、実際にマウスを追いかけていますが、実際にマウスを動かさないと初期位置に動かせません。
EG関数をトリガーすると、マウスを動かすまでオブジェクトは別の場所にありますが、私がやろうとしているのは、mousemoveイベントをアタッチする前に、最初に初期位置に移動することです。
関数をトリガーする方法は次のとおりです。
showtrail();
function showtrail(shit){
//this is how I tried to set the initial position first, but this get me an error:..
//followmouse();
document.onmousemove=followmouse; //and this is how I attach the event.
}
これはオブジェクトを動かす実際の関数の一部ですが、最初の動きを初期化/模倣しようとすると座標を取得できません。
function followmouse(e){
var xcoord=offsetfrommouse[0]
var ycoord=offsetfrommouse[1]
if (typeof e != "undefined"){ //This- if triggered by mousemove, and it works
xcoord+=e.pageX
ycoord+=e.pageY
}
else { //this was meant for the initial call, but... for some reason
xcoord+=document.body.scrollLeft+event.clientX // it triggers an error,
ycoord+=document.body.scrollTop+event.clientY // saying event.clientX undefined.
}
}
したがって、event.clientXは機能していないようで、実際のマウス位置を取得する方法がわかりません。
案内してください。