私はこの解決策を別のトピックで見つけました。マウスを下に動かすと正しく動作します。JavaScriptを使用してマウスが上下に動いているかどうかを確認する方法は?
しかし、マウスを少し上向きに動かすと、コンソールにはFrom Top
とFrom Bottom
が記録されます。
$(document).ready(function() {
var mY = 0;
$(document).mousemove(function(e) {
// moving upward
if (e.pageY < mY) {
console.log('From Bottom');
// moving downward
} else {
console.log('From Top');
}
// set new mY after doing test above
mY = e.pageY;
});
});
code {
background: #ededed;
padding: 0 5px;
}
span {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
So instead of moving <span>straight up</span>, go from the <span>left bottom corner</span> to the <span>right top corner</span> with a small <span>curve</span>. Moving your mouse up or down. It will log both <code>From Top</code> and <code>From Bottom</code>
マウスが上または下に移動する場合どのように正確に測定することができますか?
いつでもy位置が変更されていない場合は、「上から」でしょう注意してください。つまり、垂直方向に動かずに水平方向に1ピクセルだけ移動した可能性があります。 –
唯一の違いは 'else {else}}の代わりに' if(e.pageY mY){...} 'を確認することです。 –
Dekel
Okを試します。そして、何が起こるかを見てください。 – Red