2

わかりました、私の質問は簡単ですが、答えがあるかどうかはわかりません. ブラウザ ウィンドウの下部に固定されている要素があります。不要な場合は非表示にしたい(高さを0pxに設定)。ユーザーのマウスが WINDOW (ドキュメントではない) の下部から X 単位離れている場合、div を再度表示したいと思います。少しグーグルで検索したところ、ページが下から X ユニット離れた場所にスクロールされたときに、イベントのトリガー/アクションの実行に関する情報しか見つかりませんでした。正しい方向を示すことができれば、これを行う方法の正確なコードは必要ありません。

質問 (見たことがない人向け):
マウス ポインターがブラウザー ウィンドウ (ドキュメントではない) の下部から X 単位内にあるときに、イベントを発生させる/関数を実行する方法は?

いくつかの注意事項:
これはグリースモンキー/ユーザースクリプト用であるため、回答をIEに適用する必要はありません。
ライブラリの使用を提案しないでください。これほど小さなものでは、ライブラリ全体を必要とすることは、私が受け入れたい答えではありません。

回答: 以下のKir lvlevの回答から構築します(彼の回答に賛成票を投じることを忘れないでください):

// Standards compliant browsers
// if you have an IE solution, post it in the comments and I will add it.
window.addEventListener("mousemove",function(e) {
    // 20 is the number of pixels from the bottom inwhich the action should be preformed
    if ((this.innerHeight - 20) <= e.clientY) {
        //do stuff
    }
});
4

2 に答える 2

3

mousemove イベント ハンドラを使用する

$(window).mousemove(function(e)
{
      //mouse coordinates: e.pageX e.pageY
      //window height $(window).height()
});

jquery 以外:

window.onmousemove = function(e) {
  //e.clientX e.clientY
  //window.innerHeight
}
于 2012-11-04T01:37:00.180 に答える
0

私があなたのために作ったこのjsfiddleをチェックしてください:j sfiddle.net/Cnhvm/

一般的な考え方はそこで示されています。明らかに、divを再配置し、サイズを変更して、背景色を削除する必要があります。また、z-index値が、ページ内の他のコンテンツの上に配置されていることを確認してください。

これは標準のJavaScriptです。onmouseover="hoverOver();"

リンクを保持したい場合は、より多くの作業を行って、div上のいくつかの小さなブロックにリンクを配置できます。

于 2012-11-04T01:56:55.380 に答える