我是靠谱客的博主 魁梧小馒头,这篇文章主要介绍基于JavaScript实现瀑布流效果,现在分享给大家,希望可以做个参考。

本文实例为大家分享了js实现瀑布流效果的具体代码,供大家参考,具体内容如下

前端内容:

使用JavaScript和四个div,将照片放入四个div中

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!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请求

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

最后

以上就是魁梧小馒头最近收集整理的关于基于JavaScript实现瀑布流效果的全部内容,更多相关基于JavaScript实现瀑布流效果内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(147)

评论列表共有 0 条评论

立即
投稿
返回
顶部