0

私はこのようなJavaScriptオブジェクトをいくつか持っています(それは疑似なので、構文が間違っているかどうかはわかります):

[{ "divid":"1","x1":"35","y1":"100","height":"150","width":"150" },
{ "divid":"2","x1":"45","y1":"110","height":"150","width":"150" },
{ "divid":"3","x1":"55","y1":"120","height":"150","width":"150" },
{ "divid":"4","x1":"65","y1":"130","height":"150","width":"150" }]

そして、私は現在、jQueryでマウスの位置を検出していますが、これは問題ありませんが...

それらの位置の1つを超えたときに、そのJavaScriptセットの最初の列または複数の列が自動的に返されることを検出したいのですが、位置がそれらの1つの間にある場合は、列のセットリストを返します。

.each()マウスの位置が変わるたびに、それらすべてをやり直す必要があるとは想像できませんか?多分私は...

誰かが以前にこのようなことをしたことがあるなら、私を正しい方向に向けてください。

ありがとう-ジョシュ

4

3 に答える 3

1

これを行う簡単な方法は、動的に作成された div を絶対位置に配置し、それらに mouseOver イベントを割り当てることです。z-index が高く、非表示で、他のコンテンツの上に浮かんでいる必要があります。

于 2009-11-17T23:05:17.937 に答える
0

選択したパラダイムに応じて、ムースのオフセットを取得できます。たとえば、親 div を指定し、戻り値を json から取得した値と比較します。

getposOffset:function(what, offsettype){
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;

一致する場合は、必要なものを示すイベントを発生させます!

于 2009-11-18T00:45:40.650 に答える
0

このアイデアがあなたの望むものに役立つかどうかはわかりませんが、私は箱の外で少し考えました...

イメージマップを使ってみませんか?:P

最小限のコーディングと処理で十分です。マップされた画像をオーバーレイし、領域にホバー イベントを追加しました。私はここにデモを投稿しました- 完璧ではありませんが、概念実証のようなものです。

于 2009-11-18T22:59:20.793 に答える