基于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 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
JS的参数传递示例介绍
Feb 08 Javascript
javascript常见操作汇总
Sep 03 Javascript
JavaScript将XML转成JSON的方法
Mar 12 Javascript
浅析JavaScript动画
Jun 10 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
浅谈angularJS2中的界面跳转方法
Aug 31 Javascript
微信小程序实现点击卡片 翻转效果
Sep 04 Javascript
JS实现图片切换特效
Dec 23 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
伦敦一卡通:The London Pass
2018/11/30 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
公司门卫管理制度
2014/02/01 职场文书
《颐和园》教学反思
2014/02/26 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
认错检讨书
2014/10/02 职场文书
体育运动会广播稿
2014/10/05 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
运动会主持词大全
2015/07/02 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript