基于JavaScript实现瀑布流效果


Posted in Javascript onMarch 29, 2017

本文实例为大家分享了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)

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

Javascript 相关文章推荐
jQuery-Tools-overlay 使用介绍
Jul 14 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
快速掌握jQuery插件开发
Jan 19 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
Aug 22 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
Node.js学习之查询字符串解析querystring详解
Sep 28 Javascript
Angular模版驱动表单的使用总结
May 05 Javascript
微信小程序签到功能
Oct 31 Javascript
javascript执行上下文、变量对象实例分析
Apr 25 Javascript
JS判断浏览器类型与操作系统的方法分析
Apr 30 Javascript
Angular动态添加、删除输入框并计算值实例代码
Mar 29 #Javascript
JS变量及其作用域
Mar 29 #Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 #Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 #Javascript
vue2组件实现懒加载浅析
Mar 29 #Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 #Javascript
如何使用Bootstrap创建表单
Mar 29 #Javascript
You might like
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python实现年会抽奖程序
2019/01/22 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
物业管理员岗位职责范文
2013/11/25 职场文书
初一家长会邀请函
2014/01/31 职场文书
银行办公室岗位职责
2014/03/10 职场文书
毕业论文评语大全
2014/04/29 职场文书
2015年科室工作总结
2015/04/10 职场文书
2019教师的学习计划
2019/06/25 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
详解redis分布式锁的这些坑
2021/05/19 Redis