2017-12-03 4 views
2

私は複数の画像が表示されている私のウェブページのためのいくつかのHTMLコードを書いています。問題は、すべての画像が開始時にロードされることです。スクロールダウンして余分な画像を表示するように変更したい。どのようにjQueryでそれを行うには?コンテンツをスクロールダウンする方法は?

コードは次のとおりです。

{% extends "base.html" %} 
{% load staticfiles %} 

{% block content %} 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="container"> 
     <h2>Pictures of Coffee</h2> 
     <div class="row"> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
     </div> 

    </div> 
{% endblock %} 

私はちょうどページを下にスクロールされたときに、イメージがロードされるようにJavaScriptを追加します。私はcodepenのウェブサイトからコードを試しましたが、うまくいきます。これを解決するには?

+0

これは便利です願っています。 http://webresourcesdepot.com/lazy-loading-of-images-resources-you-need/ – moon

+0

[LazyLoad](https://github.com/verlok/lazyload)を使用 – Pedram

答えて

0

スクロールするためのイベントである:

$(window).on('scroll', function() { 

//write your logics to load your images as per requirements 

}) 
+0

上記のコード用のスクリプトを記述できますか。私は取得していません。 –

0

まず、例えばように12列の行を分割ブートストラップ:

<div class="container"> 
     <div class="row"> 
      <div class="col-xs-4 col-lg-4 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
      <div class="col-xs-4 col-lg-4 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
      <div class="col-xs-4 col-lg-4 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
     </div> 
</div> 

は、上記(容器内)のような列が別の行を使用します。この例では、HTMLテンプレートのタグの頭の中でこれを追加フォローアニメーションCCS https://daneden.github.io/animate.css/ viewportchecker https://github.com/dirkgroenen/jQuery-viewport-checker jqueryのhttp://code.jquery.com/jquery.js
:スクロールエフェクトを作成するには、3つのコンポーネントが必要です。あなたは、例えばbodyタグ内http://code.jquery.com/jquery.js

<link rel="stylesheet" type="text/css" href="animate.css" /> 
<script src="viewportchecker.js"></script> 
<script src="http://code.jquery.com/jquery.js"></script> 
<style> 
    .hidden{opacity:0;} 
    .visible{opacity:1;} 
</style> 

は、これを追加し、あなたが上記の3つのファイルを保存したり、あなたが直接外部ファイルを使用することができますパスで上書きしなければならないのhrefまたはSRC、あなたのコードの入った容器を交換見つけるところしかしスクリプトはので、多分あなたのコードクラスの名前を変更したくなる「.post」クラスしたり、また、スクリプト内でクラスを変更することができるという効果を追加することを忘れないでください:

<div class="container"> 
      <div class="post"> <!-- Post content goes here --> </div> 
      <div class="post"> <!-- Post content goes here --> </div> 
      <div class="post"> <!-- Post content goes here --> </div> 
      <div class="post"> <!-- Post content goes here --> </div> 
      <div class="post"> <!-- Post content goes here --> </div> 
      <div class="post"> <!-- Post content goes here --> </div> 
</div> 
+0

どのウェブサイトからCSSとjsファイルをダウンロードする必要がありますか –

+0

申し訳ありませんが、これはとても混乱します –

+0

animate.css:https://daneden.github.io/animate.css/ viewport:https://github.com/ dirkgroenen/jQuery-viewport-checker – lausent

2

これは:)

に役立つだろう

コードスニペットを実行し、チェック。

ページをスクロールし続けると、ウィンドウのスクロール位置が最後のイメージスクロール位置よりも大きい場合、画面上の残りの画像が表示されます。

function showImages(){ 
 
    
 
    var imgStartIndex = 0; 
 
    var nextSetOfImages = 10; 
 
    var incrementImageLimit = 10; 
 
    var collectionOfImages = $(".thumbnail img"); 
 
    var noOfImages = collectionOfImages.length; 
 

 
    return function(){ 
 
    
 
    for (var i = imgStartIndex; i < nextSetOfImages; i++){ 
 
     $(collectionOfImages[i]).fadeIn().addClass("shown"); 
 
    } 
 

 
    imgStartIndex = imgStartIndex + incrementImageLimit; 
 
    nextSetOfImages = imgStartIndex + nextSetOfImages; 
 
    nextSetOfImages = (nextSetOfImages >= noOfImages) ? noOfImages : nextSetOfImages; 
 

 
    }; 
 
    
 
} 
 

 
var disImg = showImages(); 
 

 
$(document).ready(function(){ 
 
    disImg(); 
 
    
 
    $(document).scroll(function(){ 
 
    
 
    var scollPostion = $(window).scrollTop(); 
 
    var imgShownLast = $(".thumbnail img.shown").last(); 
 
    var imgShowFist = $(".thumbnail img.shown").first(); 
 
    var imgLastScrollPos = $(imgShownLast).offset().top; 
 
    var imgFirstScrollPos = $(imgShowFist).offset().top; 
 
    scollPostion = scollPostion + imgFirstScrollPos + 200; 
 
    if(scollPostion > imgLastScrollPos){ 
 
     disImg(); 
 
    } 
 
    
 
    }); 
 
    
 
});
.thumbnail img{ 
 
    width:100px; 
 
    height:100px; 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="container"> 
 
     <h2>Pictures of Coffee</h2> 
 
     <div class="row"> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/04LDEYRW59.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/90V03Q5Y60.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/O83SF2RB6D.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/5JVPSVP7EI.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/C5Y10KIIHA.jpg" alt=""></div> 
 
     <div class="col-lg-4 col-xs-6 thumbnail"><img src="https://d2lm6fxwu08ot6.cloudfront.net/img-thumbs/960w/YSSFRY5B25.jpg" alt=""></div> 
 
     </div> 
 

 
    </div>

+0

.thumbnail imgクラスが私のコードに存在しません。または、指定したクラス名に変更する必要がありますか? –

+0

。サムネイルがIMGタグを囲むdiv要素に追加されました –

+0

申し訳ありませんが、これも機能しません –

関連する問題