<a class="btn">Click ME </a>
<div class="content">
Content
</div>
$('.btn').click(function(){
$('.content').slideToggle();
});
ここでフィドル
正常に動作していますが、私の質問は.btn ボタンの外側をクリックしたときにdiv.contentをスライドさせる必要があります
ありがとう
$('.btn').click(function(e){
$('.content').slideToggle();
e.stopPropagation();
});
$(document).click(function(){
$('.content').slideUp();
})
働くフィドル
これを試してみてください、より使いやすくシンプルなコードだと思います
$('.btn').click(function(){
$('.content').delay(100).slideDown( function(){
});
});
$('html').click(function(){
if( $('.content').is(':visible') ) {
$('.content').slideUp();
}
});
これが行うことは、すべてのクリックを探すことです。
クリックがコンテンツでも btn でもない場合、メニューが上にスライドします。
$(document).click(function(e){
if (!$(e.target).hasClass('content') && !$(e.target).hasClass('btn') ) {
$('.content').slideUp();
}
});
ワーキングデモ
これを試して
$('.btn').click(function (event) {
$('.content').slideToggle();
event.stopPropagation();
});
$(document).click(function() {
$('.content').slideUp();
});
試す
$('.btn').click(function(){
$('.content').slideToggle();
return false;
});
$(document).click(function(e){
if(!$(e.target).closest('.content').length){
$('.content').slideUp();
}
})
デモ:フィドル
以下のコードを使用します。
$("body").click
(
function(e)
{
if(e.target.className !== "btn")
{
$('.content').slideToggle();
}
}
);