二年前くらいのサイトでイベント発火時関数呼ぶ時に一緒に引数渡して実装してたみたい
モーダル開いたときだけ、スクロール位置に合わせて閉じるボタンの位置調整を行うようにしている。
なんかこんな記法あったっけぇ〜?へぇ〜。ってなったのでメモ。
argumentsが別になっていることで、イベントのon offがわかりやすいなって。
引数の宣言抜けてるとかズブズブjQueryじゃねぇかのツッコミは勘弁。
$('#showModal').on('click',function(e){
$(window).on('scroll',{from: _posTop-125,to:_posTop+_mH-125-60,bottom:_mH},crtlScroll);
});
$('#closeModal').on('click',function(e){
$(window).off('scroll',crtlScroll);
});
var crtlScroll = function(e){
_targ = $('#btnClose');
//closeボタンのcssを制御
if((_targ.length>0)){
//初期は追従fixed
if ((_scrlTop >= e.data.from && _scrlTop <= e.data.to)){
_targ.css({position:'fixed', top: '125px' });
}else if(_scrlTop > e.data.to){
_targ.css({position:'absolute', top: e.data.bottom-60});
}else{
_targ.css({position:'absolute', top: '0'});
}
}
};
コメントを残す