jQuery にポップアップがあり、トリガーされると、ポップアップを表示する前に DOM にオーバーレイを追加します。
$('a.trigger').click(function(){
var id = $(this).attr('id');
$.ajax({
type:'POST',
url:'/add_to_basket',
data:{'id':id},
success:function(data){
var overlay = $('<div id="overlay">');
$('body').append(overlay);
$('#basket').css({display:'block'}).animate({top:'20%',opacity:'1'},500);
$('#basket_contents').append(data);
}
});
return false;
});
これは正常に機能し、オーバーレイが追加されて背景がフェードアウトし、バスケット ポップアップが表示されます。オーバーレイ CSS:
#overlay {
background:#FFFFFF;
opacity: 0.5;
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
}
私の問題は、ユーザーが画面上でとにかくクリックしてポップアップを閉じることができるようにしたいということです。私はこのコードを持っています:
$('#overlay').on('click',function(){
$('#overlay').remove();
$('#basket').animate({top:'10%',opacity:'0'},350,function(){ $(this).css('display','none'); });
});
しかし、それは機能していません。なぜこれが考えられるのでしょうか?前もって感謝します。