1. # 后端
  2. from django.shortcuts import render, HttpResponse
  3. from django.http import JsonResponse
  4. from app01 import models
  5. import json
  6. from django.db.models import Q
  7.  
  8. def imgs(request):
  9. return render(request, 'img.html')
  10.  
  11. def get_imgs(request):
  12. nid = request.GET.get('nid')
  13. img_list = models.Img.objects.filter(Q(id__gt=nid)&Q(id__lt=(nid+7))).values('id', 'src', 'title') # 一次从数据库取7张图片
  14. img_list = list(img_list)
  15. ret = {
  16. 'status': True,
  17. 'data': img_list
  18. }
  19. return JsonResponse(ret)
  1. # HTML
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Title</title>
  7. <style>
  8. .w {
  9. width: 1000px;
  10. margin: 0 auto;
  11. }
  12.  
  13. .item {
  14. width: 25%;
  15. float: left;
  16. }
  17.  
  18. .item img {
  19. width: 100%;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div>姑娘们</div>
  25. <div class="w" id="container">
  26. <div class="item"></div>
  27. <div class="item"></div>
  28. <div class="item"></div>
  29. <div class="item"></div>
  30. </div>
  31. <script src="/static/jquery-1.12.4.js"></script>
  32. <script>
  33. $(function () {
  34. var obj = new ScrollImg();
  35. obj.fetchImg();
  36. obj.scrollEvent();
  37.  
  38. });
  39. function ScrollImg() {
  40. this.NID = 0;
  41. this.LASTPOSITION = 3;
  42. this.fetchImg = function () {
  43. var that = this;
  44. $.ajax({
  45. url: '/get_imgs.html',
  46. type: 'GET',
  47. data: {nid: that.NID},
  48. dataType: 'JSON',
  49. success: function (arg) {
  50. var img_list = arg.data;
  51. $.each(img_list, function (index, v) {
  52. var eqv = (index + that.LASTPOSITION + 1) % 4;
  53. //console.log(eqv);
  54. var tag = document.createElement('img');
  55. tag.src = '/' + v.src;
  56. $('#container').children().eq(eqv).append(tag);
  57. if (index + 1 == img_list.length) {
  58. that.LASTPOSITION = eqv;
  59. that.NID = v.id;
  60. }
  61. })
  62.  
  63. }
  64.  
  65. })
  66. };
  67. this.scrollEvent = function () {
  68. var that = this;
  69. $(window).scroll(function () {
  70. var scrollTop = $(window).scrollTop();
  71. var winHeight = $(window).height();
  72. var docHeight = $(document).height();
  73. if (scrollTop + winHeight == docHeight) {
  74. that.fetchImg();
  75. }
  76. })
  77. }
  78.  
  79. }
  80.  
  81. </script>
  82. </body>
  83. </html>

瀑布流(基于Django)的更多相关文章

  1. 基于jQuery的简易瀑布流实现

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Django实现瀑布流,组合搜索

    Django中组合搜索功能 需求分析 很多电商网站中有组合搜索的功能,所谓组合搜索就是网页中组合多个条件,对数据库中进行查询,并且将结果显示在页面中,看个例子吧: 注意红框中的标识,我们可以根据URL ...

  3. JavaScript中作用域回顾(避免使用全局变量)(瀑布流的实现)(scroll事件)以及Django自定义模板函数回顾

    页面显示照片样式为瀑布流: 上面的div个数可以按照自己安排进行划分.img的分布可以使用模板标签以及自定义模板函数进行排布: 自定义模板函数实现可以看,最后几列:python---django中模板 ...

  4. django实现瀑布流、组合搜索、阶梯评论、验证码

    django实现图片瀑布流布局 我们在一些图片网站上经常会看到,满屏都是图片,而且图片都大小不一,却可以按空间排列.默认一个div是占用一行,当想把div里的图片并排显示的时候,只能使用float属性 ...

  5. Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流

    模板语言自定义方法介绍 自定义方法注意事项 Django中有simple_tag 和 filter 两种自定义方法,之前也提到过,需要注意的是 扩展目录名称必须是templatetags templa ...

  6. Django之瀑布流

    一. 小功能瀑布流的实现 1.完成效果图 2.代码部分 <1>models.py from django.db import models # Create your models her ...

  7. Django 之瀑布流实现

    需求分析 现在是 "图片为王"的时代,在浏览一些网站时,经常会看到类似于这种满屏都是图片.图片大小不一,却按空间排列,就这是瀑布流布局. 以瀑布流形式布局,从数据库中取出图片 每次 ...

  8. 【Python之路】特别篇--Django瀑布流实现

    瀑布流 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinteres ...

  9. 基于Bootstrap v4.1.1 & Bootstrap-table-1.14.1实现数据瀑布流

    基于Bootstrap-table-1.14.1实现数据瀑布流 HTML代码 <div id="AvgWaitAndAvgTimeServiceTimeData_hall"& ...

  10. 基于.NetCore开发博客项目 StarBlog - (10) 图片瀑布流

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

随机推荐

  1. [C语言] 关于计算多边形面积的一点问题

    [一道练习题] 面基 时间限制:1000ms   内存限制:65536kb 通过率:107/134 (79.85%)    正确率:107/319 (33.54%) 题目描述 按顺时针或逆时针顺序输入 ...

  2. 【LeetCode】最长回文子串【动态规划或中心扩展】

    给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad"输出: "bab"注意: " ...

  3. tidb测试环境搭建

    tidb ansible 部署方式环境检查过于严格,测试环境往往达不到标准,需调整一些参数才能部署成功. 基于tidb2.0版本需要调整的参数 [tidb@ansible01 tidb-ansible ...

  4. Codeforces Round #569 Div. 1

    A:n-1次操作后最大值会被放到第一个,于是暴力模拟前n-1次,之后显然是循环的. #include<bits/stdc++.h> using namespace std; #define ...

  5. redis GEO的使用

    一.概念 redis的GEO特性在Redis3.2版本发布,这个功能可以将用户给定的地理位置信息储存起来,并对这些信息进行操作. GEO常用语LBS(Location Based Service),基 ...

  6. Unity的学习笔记(XLua的初学用法并在lua中使用unity周期函数)

    自己最近也在研究怎么用lua控制UI,然后看着网上介绍,决定选用XLua,毕竟TX爸爸出的,有人维护,自己琢磨着怎么用,于是弄出来一个能用的作为记录. 当然,XLua主要是用于热更新,我自己是拿来尝试 ...

  7. bat计算指定文件MD5并输出txt

    @echo off set Name1=*.ADS set Name2=GM_RSSPI* set Name3=equipment* set Name4=protocols* REM 设置输出文件名 ...

  8. python之json库的使用

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 1.json库的使用 使用 JSON 函数需要导入 json 库:import jso ...

  9. windows下cuda的安装

    1. cuda的安装 到 https://developer.nvidia.com/cuda-toolkit 去下载.在安装的时候一定要自定义安装,否则将会安装很多无用的东西.安装的选项,可以选择不更 ...

  10. iOS ANE植入流程

    来源:http://www.adsmogo.com/help/iosANE 一.iOS ANE植入流程 Step 1:创建Flex工程 1.1 启动Flash Builder 4.6.0, 选择“Fi ...