6


0

Zインデックスが最も高いDIVを選択します

この問題の説明を開始できるようにするためのサンプルコード:

5
2
1
4
3

(z-index値は重要ではなく、その順序はさらに小さくなります。 単なるコード例)

問題:z-indexの値が最も高いDIVを選択する(jQueryでCSSまたはJSを使用する)。 上記の場合、z-index 5は他のすべてのz-indexよりも高いため、最初のものを選択します。

これを行う方法はありますか? 追加情報:jQuery + jQuery UIを使用してシンプルウィンドウマネージャーを作成しています。z-indexは.draggableのスタックオプションによって割り当てられます。 最後にドラッグされた要素にクラスを割り当てるjQueryを作成する方法を見つけることもできないようですので、最高のz-indexの方法を使用します。 何か助けてください? ありがとう。

4 Answer


2


停止イベントを使用して、最近ドラッグされたアイテムにアクセスできると確信しています。つまり:

$('.selector').draggable({
   stop: function(event, ui) {
      $(event.target).addClass('justDragged');
   }
});

イベントにバインドされたすべての関数/変数を表示する場合は、次を使用できます。

var str = '';
for (i in event) {
    str += i + ', ';
}
alert(str);

これにより、任意の数のjQueryコールバックパラメーターで利用可能なものを適切に示すことができます。


0


すべてのdivにクラスを追加したら、いつでも `jQuery("。yourDivs ")。css(" z-index ")`に対してテストできます。


0


あなたの代わりに、各divにイベントonclickを添付するだけです。 JavascriptまたはjQueryはzindex情報を自動的に考慮し、クリックしたDIVで正確にイベントを取得すると思います。


0


draggableに「ドラッグを開始」イベントがあることがわかりました。 なんて馬鹿だ。
$("#window-"+id+".staticwindow.stwin").draggable({
...
    start: function(e, u){
        $(".window").removeClass('active');
        $(this).addClass('active');
    }
});

私のこのアプローチは元の質問とは関係ありませんが、少なくともループはありません。 これにはループが必要と思われるため、私は答えを受け入れません。 (私はzarko-oの回答を受け入れることに少し傾いていますが、それは私がイベントについて考えるように導くからです)

ご回答ありがとうございます。