このページにアクセスすると、購読するアーティストを検索し、検索結果で [購読] をクリックしてアーティストを購読できます。
アーティストを購読してから購読を解除しようとすると、そのアーティストはリストから削除されませんが、購読解除ボタンを 2 回クリックすると削除されます。
サブスクライブしているアーティストのリストは、グローバル変数 によって参照される Isotope コンテナーに格納されますSF.container
。
ユーザーが呼び出してサブスクライブすると、アーティストがコンテナに追加されます
SF.subscribe = function(artistSelector, newArtist) {
var subscribedArtist = $(newArtist);
SF.container.append( subscribedArtist ).isotope( 'appended', subscribedArtist );
}
を呼び出して、アーティストをコンテナから削除します。
SF.unsubscribe = function(selector) {
SF.container.isotope('remove', $(selector));
};
「登録解除」がクリックされるたびに同じパラメーター値がこの関数に渡されるため、2 回目には機能するのに 1 回目では機能しない理由がわかりません。
この問題は、アーティストを購読し、ページを更新せずに購読を解除しようとした場合にのみ発生します。つまり、ページが最初にロードされたときにページにあるアーティストから購読を解除しても問題ありません。上記の関数は にありglobal.js
ます。