if文をクラス名で判別して、処理を分けたい
isotopeとInfinite Scrollを使ったページを作成しています。
1回目にリストをクリックした時は、if文の最初の処理を行い、
2回目以降はelseの処理を行いたいと思っています。
判定するclassも、javascriptでクラスを付与しています。
どうしても、1回目をクリックした時に、if文の処理がされません。
2回目以降は、elseの処理は動いています。
色々と試したのですがうまくいきません。
ご教授頂けますとうれしいです。
よろしくお願いいたします。
該当のソースコード
javascript
1 <script type="text/javascript"> 2 3 $('#filters-2').on( 'click', 'li', function() { 4 $("#container").addClass("selected"); 5 }); 6 7 var element = document.getElementById('container'); 8 $('#filters-2').on( 'click', 'li', function() { 9 if( element.classList.contains('selected') == false ){ 10 $(function() { 11 $.ajax({ 12 url: 'pages/2.html', 13 cache: false, 14 success: function(html){ 15 $('#filters-2').on( 'click', 'li', function() { 16 $(html).find('#container').each(function(){ 17 $('#container').prepend(this).isotope( 'reloadItems' ).isotope({ sortBy: 'original-order' }); 18 return false; 19 }); 20 }); 21 } 22 }); 23 }); 24 } 25 else { 26 var $container = $('#container').isotope(); 27 $('#filters-2').on( 'click', 'li', function() { 28 var filterValue = $(this).attr('data-filter'); 29 $container.isotope({ filter: filterValue }); 30 return false; 31 }); 32 } 33 return false; 34 }); 35 </script>
HTML
1 <ul class="work_cate button-group" id="filters-2"> 2 <li class="cate_all" data-filter="*">ALL</li> 3 <li class="cate_item1" data-filter=".item-1">ITEM1</li> 4 <li class="cate_item2" data-filter=".item-2">ITEM2</li> 5 <li class="cate_other" data-filter=".item-other">OTHERS</li> 6 </ul> 7 <div id="container" class="clearfix infinite-scrolling"> 8 <div class="element cate_item1" data-symbol="H" data-category="other"> 9 <p class="number">1</p> 10 </div> 11 <div class="element cate_item2" data-symbol="H" data-category="other"> 12 <p class="number">2</p> 13 </div> 14 </div>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/07 05:27