0

は、私はワードプレスでカスタムポストタイプのアーカイブページを持っていると私は改ページにページあたり10件の記事を表示し、同位体JSを実行する。..同位体+ infiniteScroll +のWordpress +ブートストラップ

を比較的単純なことをしようとしています divパッキングのために私はnext_posts_link()を使ってid '#next_archive_page'のリンクを生成します。すべての良いとこれはすべて期待どおりに動作します。

今、この(私はinfiniteScroll機能を実装れるのjQueryを追加しようとしているが、私はこれらの新しい投稿の画像をレンダリングするために得ることができる唯一の方法は、彼らからIMG-流体のブートストラップクラスを削除することです単に幅:100%;高さ:自動;)...私は私が私の応答性のレイアウトのためにそれを必要とするため、ING-流体クラスを削除したくない

<div class="row grid"> 
    <?php if($query->have_posts()) : while($query->have_posts()) : $query->the_post() ?> 
    <div class="grid-sizer col-4"> 
     <img class="img-fluid" src="..."> 
    </div> 
    <?php endwhile; endif; wp_reset_query() ?> 
</div> 

<script> 
    window.onload = function() { 

     var $grid = $('.grid').isotope({ 
      itemSelector : '.grid-item', 
      columnWidth : '.grid-sizer', 
      percentPosition : true 
     }); 

     $grid.infiniteScroll({ 
      hideNav: '.pagination', 
      path : '.pagination #next_archive_page', 
      scrollThresold: 200 
     }); 

     $grid.on('load.infiniteScroll', function(event, response, path) { 
      var $items = $(response).find('.grid-item'); 
      // It's the height: auto style that stops images displaying 
      $items.find('img').removeClass('img-fluid'); 
      $items.imagesLoaded(function() { 
       $grid.append($items); 
       $grid.isotope('insert', $items); 
      }); 
     }); 
    } 
</script> 

...だから

その結果、.grid-item elemenが追加されています。次のカスタムポストタイプのアーカイブページの正しい場所にありますが、それらはすべて重複していて、間違ったサイズです。

ブートストラップの応答性で、infiniteScrollとisotopeをうまく再生するにはどうすればよいですか?

答えて

0

要素のスタイリングを見ましたか? 0の幅や0の高さで追加されたようです。

+0

実際、私はちょうどそれを突き放し、問題の原因となっているイメージにブートストラップクラス 'img-fluid'があることに気付きました。これを取り除くと、次のページの画像がレンダリングされます...しかし、どうすればそれを解決できますか?このクラスは私のレイアウトに必要です。 – juliusbangert

+0

要素cssクラスの問題の原因となっているブートストラップスタイルルールを覆すことができます。 ブートストラップのCSSルールよりも具体的であることを確認してください。 最後の手段として、あなたのクラスのcssプロパティで!importを使うことができます。これにより、最大の優先順位を持つようになりますが、ほとんどの場合は無効になりません。 要素が追加された時点でクラスが既に追加されている場合は、要素を反復処理して、javascriptのブートストラップクラスを削除することができます。 –

+0

はい、それがあるように私は、CSSを必要とする...しかし、私は_ $のitems.find( 'IMG')を呼び出して試してみましたremoveClass( 'IMG-流体'); _ ** load.infiniteScroll **コールバック内関数が働いていますが、アイソトープが要素を表示する前に、そのクラスを元に戻す必要があります。何か案は? – juliusbangert

関連する問題