0

ユーザーがボタンをクリックすると... div が下にスライドします...

$(document).ready(function(){
    $("#friend_requests_container").click(function(){
        $("#friend_requests").slideDown(500);
    });
});

ただし、私がやりたいのは、ユーザーがページの他の場所をクリックすると、ボタンをクリックしてdivを表示した場合を除いて、divがスライドして戻ることです。

私が試したのはこれでした。

$(document).ready(function(){
    $("#friend_requests_container").click(function(){
        $("#friend_requests").slideDown(500);
    }, function(){
        $("#friend_requests").fadeOut(500);
    });
});

しかし、それはうまくいかないようでした...何かアイデアはありますか?ありがとう :)

4

2 に答える 2

0

twoクリック時にイベントが1 つとfriend_requests_containerクリック時に他のイベントが必要ですdocument。friend_requests_container がクリックされている場合、イベントpropagateddocument click同様に使用されるため、使用する必要がありますstopPropagation()

ライブデモ

$(document).ready(function(){
    $("#friend_requests_container").click(function(event){     
        $("#friend_requests").slideDown(500);
                 event.stopPropagation();             
    });

    $(document).click(function(event){
        $("#friend_requests").slideUp(500);
         event.stopPropagation();      
    });   
});​
于 2012-08-10T16:27:05.070 に答える
0

ドキュメントにイベントを添付して、クリックされた要素のIDを確認できます

$(document).ready(function(){
    $("#friend_requests_container").click(function(){
        $("#friend_requests").slideDown(500);
    });

    $(document).click(function(e){
        if(e.target.id !== "friend_requests_container") {
           $("#friend_requests").slideUp(500);
        }
    });
});
于 2012-08-10T16:29:03.203 に答える