基於JavaScript實現瀑布流效果,javascript實現瀑布

來源:互聯網
上載者:User

基於JavaScript實現瀑布流效果,javascript實現瀑布

本文執行個體為大家分享了js實現瀑布流效果的具體代碼,供大家參考,具體內容如下

前端內容:

使用Javascript和四個div,將照片放入四個div中

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style>  .container {   width: 1000px;   margin: 0 auto;   background-color: lightgray;  }   .item {   width: 24%;   margin-right: 10px;   float: left;  }  .item img{   width: 100%;  }  </style></head><body>{#將內容放在container中#}<div class="container">{# 將圖片內容放入四個item中,形成四個item#} <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> </div><script src="/static/js/jquery-2.1.4.min.js"></script><script> $(function () {{#  網頁載入時自動執行#}  var obj = new ScrollImg();  obj.fetchImg();  obj.scrollEvent(); }) {# 定義對象#} function ScrollImg() {  this.nid = 0;{#  取照片方法#}  this.fetchImg = function () {   var that = this   $.ajax({    url: '/get_imgs.html',    type: 'GET',{#  傳輸資料,已經取了多少照片,後台可以依據,繼續取照片#}    data: {'nid': that.nid},    dataType: 'JSON',    success: function (args) {     if (args.status) {      var img_list = args.data;      $.each(img_list, function (index, obj) {       var eqv = that.nid % 4;       var tag = document.createElement('img')       tag.src = '/' + obj.img_dir;       console.log(eqv)       $('.container').children().eq(eqv).append(tag)       that.nid += 1;      })     }    }   })  }{#  監聽捲軸,當滾到底部時,自動載入資料#}  this.scrollEvent = function () {   var that = this;   $(window).scroll(function () {    var srollTop = $(window).scrollTop();    var winHeight = $(window).height();    var docHeight = $(document).height();    if (srollTop + winHeight >= docHeight - 2) {     that.fetchImg();    }   })  } }</script></body></html>

後台內容:

基於Django的FBV,函數視圖,進行資料的讀取和處理ajax請求

def get_imgs(request): # 擷取已經取得的照片數目 index = request.GET.get('nid') #擷取QuerySet集合對象,取從index後的10調資料 imgs_list = models.Student.objects.values('id','img_dir','name')[index:index+10] imgs_list = list(imgs_list) # 傳送狀態和資料內容 ret = {  'status':True,  'data':imgs_list } return JsonResponse(ret)

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.