2012-06-22 13 views
8

私はタイトルがかなり自明であると思います。これをクリックして、それから何かをしてください

ユーザーがリンク上でオーバーレイをクリックしたときにdivを閉じたいとします。

$("#close-search").click(function() { 
    $("#branding #searchform").fadeOut("fast"); 
    $("#global-overlay").fadeOut("fast"); 
}); 

$("#global-overlay").click(function() { 
    $(this).fadeOut("fast"); 
    $("#branding #searchform").fadeOut("fast"); 
}); 

またはあなたがそうのように、一つの関数を書くことができます:私はあなただけそうのような二つの機能を書くことができます知っている

function closeSearch { 
    $(this).fadeOut("fast"); 
    $("#branding #searchform").fadeOut("fast"); 
} 

$("#close-search").click(function() { 
    closeSearch(); 
}); 

$("#global-overlay").click(function() { 
    closeSearch(); 
}); 

が、私はこれを試してみましたが、それはうまくいきませんでした。

$("#close-search", "#global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
    }); 

しかし、これを1行に書き込むことは可能ですか? ($("#close-search" OR #global-overlay")のようなもの)

答えて

21

カンマ区切りの手段やこれや

$("#close-search, #global-overlay") 

複数selector

2

が、これは

$("#close-search, #global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
}); 
0

未テストしてみてください。

012:

はこれを試してみてください

$("#close-search, #global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
    }); 

通知セレクタの文字列が配列のように分割されているわけではなく、代わりにSizzleセレクタがこれを行います。

関連する問題