-1

4 divsdiv1、div2、div3、div4がある例を見てみましょう。4 つの div はすべて互いに分離されています。今、jquery で条件を書きたいと思います。

1) if mouseleaves div1' anddiv3 または div4` に入らない場合は、関数を実行するか、何かを警告したい...

現在、チェックしてこれを行っていif mouseenters div3 or div4ます。このようなもの...

しかし、私は実際には逆の方法でやりたい....これを達成することは可能ですか?

$(".div11").mouseleave(function(){

if ( $(".div3,.div4").mouseenter)(function(){

 });

else{}

});

あなたが知っているように、if else条件を台無しにしたため、上記のコードは機能しませんが、似たようなものを書こうとしています...

4

4 に答える 4

0

別のdivに入るときに変数を使用する必要があります...

例えば:

var div3enter = false;
var div4enter = false;
$('.div3').mouseenter(function(){ div3enter = true; });
$('.div4').mouseenter(function(){ div4enter = true; });

$(".div11").mouseleave(function(){

if(div3enter and div4enter) {
//do something....
}

});

于 2013-07-03T08:09:39.507 に答える
0

タイムアウトベースのソリューションを使用できます

jQuery(function($) {
    var timer;
    $(".div1").mouseleave(function() {
        timer = setTimeout(function() {
            alert('delayed');
        }, 100);
    });

    $(".div3,.div4").mouseenter(function() {
        clearTimeout(timer)
    });
})

デモ:フィドル

于 2013-07-03T08:11:07.607 に答える
0

あなたの質問を正しく理解できれば、これは正しい構文になります。

$(".div1").mouseleave(function () {

//Check if mouse is over div3 or div4
if ($('.div3').is(':hover') || $('.div4').is(':hover')) {
  //Do something    
    } 
else {

    }    
  });

同意しますか?

于 2013-07-03T08:05:47.383 に答える
0

出来ますか?はい。箱から出して提供されますか? いいえ、おそらくこれを自分で実装する必要があります。

そのために、 DOM EVent Modelについて考えてみてください。「not mouse enter」を実装するには、マウスの動きごとにトリガーするカスタム イベントを作成する必要があります。ターゲット要素の境界に対するカーソルの位置をチェックし、それが要素の境界の「内」にあるかどうかを確認し (マージンを含めますか? パディングを含めますか?)、そうでない場合は、渡されたイベントハンドラーを呼び出します。

于 2013-07-03T08:01:40.833 に答える