javascript
1var position = 0; 2$('.js-toggle').on('click',function(){ 3 if( $(this).closest('.item').hasClass('is-open') ) { 4 $('html, body').animate({scrollTop:position}, 500); 5 }else { 6 position = $(this).closest('.item').offset().top; 7 } 8 $(this).closest('.item').toggleClass('is-open'); 9});
.js-toggleをclickしたときの位置を記憶し、再度クリックしたときにその位置に戻る関数を作ったのですが、複数クリックした際にpositionの位置が変わってしまいます。
複数positionを定義すれば、いけるのは分かるのですが、できればクロージャーを使ってシンプルに書きたいです。
クロージャーを使った場合どのようにかけますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/08 02:38