jquery实现瀑布流效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>nav-head</title>
<style>
*{
margin:0;
padding:0;
}
.clearfix:after{visibility:hidden;clear:both;display:block;content:".";height:0}
.pull-list{
padding:5px;
font-size:0;
position:relative;
}
.pull-list .pull-box{
display:inline-block;
float:left;
}
.pboder{
border:1px solid #ccc;
padding:5px;
margin:5px;
font-size:12px;
}
img{
width:140px;
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
</head>
<body>
<div class="pull-list clearfix">
<div class="pull-box">
<div class="pboder">
<img src="data:image/1.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/2.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/3.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/4.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/4.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/5.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/6.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/7.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/8.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/9.jpg">
</div>
</div>
<div class="pull-box">
<div class="pboder">
<img src="data:image/10.jpg">
</div>
</div>
</div>
<script src="jquery.min.js"></script>
<script>
$(window).on("load",function(){
function getSlist(){
var docW = $(window).width(),
boxW = $('.pull-box').eq(0).outerWidth(),
boxL = Math.floor(docW/boxW);
$(".pull-list").css({
"margin":"0 auto",
"width":boxW*boxL
})
var arrBox = [];
$('.pull-box').each(function(key,val){
var boxH = $(val).outerHeight();
if(key<boxL){
arrBox[key] = boxH;
}else{
var minH = Math.min.apply(null,arrBox);
var minIndex =$.inArray(minH,arrBox);
$(val).css({
"position":"absolute",
"left":(minIndex*boxW+5)+"px",
"top":(minH+5)+"px"
})
arrBox[minIndex] += $('.pull-box').eq(key).outerHeight();
}
})
}
getSlist();
function checkScroll(){
$(window).scroll(function(){
if($(document).height() < $(window).height() + parseInt($(window).scrollTop(),10) + 50){
$.ajax({
url:"text.json",
method:"GET",
success:function(data){
var res = data.list;
var str = "";
for(var i=0; i<res.length; i++){
str ='<div class="pull-box">'+
' <div class="pboder">'+
' <img src="data:image/'+res[i]+'">'+
' </div>'+
' </div>';
$(".pull-list").append(str);
}
getSlist();
},
error:function(data){
console.log(data)
}
})
}
});
}
checkScroll();
$(window).resize(function() {
checkScroll();
})
})
</script>
</body>
</html>
text.json{
"list":["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg","9.jpg","10.jpg"]
}
jquery实现瀑布流效果的更多相关文章
- 用jQuery实现瀑布流效果学习笔记
jQuery一直没系统的学,只知道是js库,封装了好多js函数,方便了开发.以前做过一个原生的图片网站瀑布流效果,超级麻烦,这次用了jQuery方法,瞬间代码浓缩了,只有56行js代码.神奇的让我来把 ...
- 【前端】用jQuery实现瀑布流效果
jQuery实现瀑布流效果 何为瀑布流: 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早 ...
- jQuery淡入淡出瀑布流效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery实现瀑布流
瀑布流布局多用于加载图片,或者图片配上文字.视觉表现为参差不齐的多栏布局.随着页面滚动条向下滚动,还会不断加载数据块并附加至当前尾部.本文就来利用jQuery实现一个图片瀑布流的效果. 1.布局. 首 ...
- Jquery简单瀑布流代码示例
最近很多网站都采用瀑布流风格设计,感觉挺有个性的,比较合适做图片类型的网站,没事仿开心网做一个瀑布流示例. 需要用到Jquery,jquery.masonry.min.js <!DOCTYPE ...
- jquery版瀑布流
一个月前用jquery实现了瀑布流效果,看着当时的代码有点难过……今天抽时间稍微修改了一下.额,现在看起来不是那么难受了,就来和大家分享一下.废话不多说,开始正题~ 一.演示效果 二.html代码 & ...
- RecylerView完美实现瀑布流效果
RecylerView包含三种布局管理器,分别是LinearLayoutManager,GridLayoutManager,StaggeredGridLayoutManager,对应实现单行列表,多行 ...
- 使用JS实现图片展示瀑布流效果
不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流 就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候, 下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度 ...
- WPF下制作的简单瀑布流效果
最近又在搞点小东西,美化界面的时候发现瀑布流效果比较不错.顺便就搬到了WPF,下面是界面 我对WEB前端不熟,JS和CSS怎么实现的,我没去研究过,这里就说下WPF的实现思路,相当简单. 1.最重要的 ...
随机推荐
- EasyUI--Alert()
1.$.messager.alert(title, msg, icon, fn) 2 <script type="text/javascript"> $(functio ...
- HDU-1069 Monkey and Banana DAG上的动态规划
题目链接:https://cn.vjudge.net/problem/HDU-1069 题意 给出n种箱子的长宽高 现要搭出最高的箱子塔,使每个箱子的长宽严格小于底下的箱子的长宽,每种箱子数量不限 问 ...
- users---显示当前登录系统的所有用户的用户列表
users命令用于显示当前登录系统的所有用户的用户列表.每个显示的用户名对应一个登录会话.如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数. 语法 users(选项) 选项 --help: ...
- iOS日期转换之UTC/GMT时间格式
GMT只需要将代码中的UTC替换为GMT即可 //将本地日期字符串转为UTC日期字符串 //本地日期格式:2013-08-03 12:53:51 //可自行指定输入输出格式 -(NSString *) ...
- PKU 2288 Islands and Bridges 状态dp
题意: 给你一张地图,上面有一些岛和桥.你要求出最大的三角哈密顿路径,以及他们的数量. 哈密顿路:一条经过所有岛的路径,每个岛只经过一次. 最大三角哈密顿路:满足价值最大的哈密顿路. 价值计算分为以下 ...
- Liquibase+spring 初步使用
现在的工作的项目中用了liquibase,感觉挺爽的,可以跟踪.管理数据库的重构.这对于很多需求变更较大的项目是非常不错的,特别是互联网的项目.(虽然互联网Nosql已经非常流行,不过俺觉得传统关系型 ...
- placement new和delete
注意,我们无法改变new和delete操作符. 但是我们可以重载来里面的operator new 和 operator delete 方法,这个方法是被new操作符调用的,调用之后获得地址,会继续用构 ...
- Java NIO和IO的主要差别
我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景.以及它们怎样影响您的代码设计. Java NIO和IO的主要差别 下表总结了Java N ...
- 利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)
在非常多企业级应用中,我们都没法直接通过开发语言sdk包封装的http工具来模拟http复合表单(multipart/form-data),特别是在跨语言跨平台的编程过程中.事实上实现方 ...
- Swift:UIKit中Demo(一)
关于Swift的基本概念及语法知识.我在前面的章节中已经介绍了非常多.这一节和下一节主要有针对性的解说Swift在实际UIKit开发中的使用场景及注意点.先来看看Demo的终于效果图. Demo分析: ...