jsライブラリAvgrundで2つのポップアップを作成しようとしています。問題は、同じページに2つのフォームがある場合、アクティブ化関数が呼び出されるたびに両方がアクティブ化されることです。
javascriptを要約すると、ユーザーがログインボタンまたはサインアップボタンのいずれかを押すと、次のように呼び出されます。
function activate( state , selector ) {
var popup = document.querySelector( selector );
document.addEventListener( 'keyup', onDocumentKeyUp, false );
document.addEventListener( 'click', onDocumentClick, false );
removeClass( popup, currentState );
addClass( popup, 'no-transition' );
addClass( popup, state );
setTimeout( function() {
removeClass( popup, 'no-transition' );
addClass( container, 'avgrund-active' );
}, 0 );
currentState = state;
}
これにより、フォームに「アクティブ」クラスが追加され、両方のフォームで署名avgrund遷移とポップアップが表示されます。querySelectorの目的は、特定のid(selector)が関連付けられているaside要素のみを変更することです。これにより、特定のID('#login'または'#signup'のいずれか)を持つフォームのみがポップアップ表示されるはずです。
脇の要素(ログインフォームとサインインフォーム)のクラスは、各ボタンに応じて変更されますが、どちらもポップアップを表示します。最後に、フォームの1つは常に他のフォームの上に表示されます。
これがCodePenの問題の簡略版です