これは機能しています: onmousemoveを書くときはhttp://jsfiddle.net/9NDXF/1/ですが、onscrollを書くときはhttp://jsfiddle.net/9NDXF/7/ではありません。
マウスの位置をスクロールさせるにはどうすればよいですか?
これは機能しています: onmousemoveを書くときはhttp://jsfiddle.net/9NDXF/1/ですが、onscrollを書くときはhttp://jsfiddle.net/9NDXF/7/ではありません。
マウスの位置をスクロールさせるにはどうすればよいですか?
スクロールイベントにはpageXプロパティがないためです。巻物は吸う。これは、マウスのスクロールイベントに関するすばらしい記事と、デモのjsFiddleです。
「スクロールでマウスの位置を取得する」唯一の方法は、以前にそれを記録し、必要に応じてアクセスすることです。私はあなたがこれが最初に良い考えであると思う理由に多くの考えを入れます:jsFiddle
var mousePostion = {clientX:0,clientY:0};
function record(e)
{
mousePostion = {
clientX: e.clientX,
clientY: e.clientY
};
}
function print(e)
{
document.getElementById("x").value=mousePostion.clientX;
document.getElementById("y").value=mousePostion.clientY;
}
window.onmousemove=record;
window.onscroll=print;
onscrollは、ユーザーが画面をスクロールするときです。jsFiddleを最小化してスクロールバーを表示し、それを使用してスクロールします。値が入力されているのがわかります。「e」は未定義です。
function test(e)
{
alert(e);
var doc=document.documentElement;
var body=document.body;
if(e.pageX)
{
document.getElementById("x").value=e.pageX;
document.getElementById("y").value=e.pageY;
}
else
{
document.getElementById("x").value=e.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);
document.getElementById("y").value=e.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);
}
}
window.onscroll=test;
この参照を読んで、それが役立つことを願っています
http://javascriptmagic.blogspot.com/2006/09/getting-scrolling-position-using.html