JS实现图片展示瀑布流效果(简单实例)

添加时间:17-01-20 所属分类:HTML网页,JS语言与代码
  http://www.bkjia.com/Javascript/1157440.html

不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流
就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候,
下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度一样,高度并不
一样,高高低低就像瀑布一样,所以叫做瀑布流效果。下面我把代码给大家,大家
随便下几张图片试试。

[code]
<html lang="en">
<head>
<meta charset="UTF-8">
<title>瀑布流不重复</title>
<style>
*{margin: 0px;padding: 0px;list-style: none;}
#box{width: 1000px;margin: 0 auto;}
#box ul{float: left;width: 200px;margin-right: 50px;}
#box img{width: 200px;}
</style>
</head>
<body>
<div id="box">
<ul></ul>
<ul></ul>
<ul></ul>
<ul></ul>
</div>
<script>
var box=document.getElementById('box');
var ul=box.children;
function insert(){
var x=0;
var srcNum=Math.floor(Math.random()*35);//35是35张图片,可改成任意数,我这里总共是35张图片。
var newli=document.createElement('li');
newli.innerHTML='<img src="images/'+srcNum+'.png" alt="">';//这是图片的文件名,要求是统一。
var minH=Math.min(ul[0].clientHeight,ul[1].clientHeight,ul[2].clientHeight,ul[3].clientHeight);
for (var i = 0; i < ul.length; i++) {
if (ul[i].clientHeight==minH) {
x=i;
break;
}
}
ul[x].appendChild(newli);
}
for (var i = 0; i < 20; i++) {
insert();
}
document.onscroll=function(){
var viewH=document.body.clientHeight||document.documentElement.clientHeight;
var winH=document.documentElement.scrollHeight;
var scrollT=document.body.scrollTop||document.documentElement.scrollTop;
if (winH-scrollT-viewH<500) {
for (var i = 0; i < 20; i++) {
insert();
}
}
}
</script>
</body>
</html>[/code]

前篇:11家大医院可提供“网约诊” 后篇:动态加价太吓人! 年关济南网约车9公里竟收...
发表我的评论


推荐文章   中央印发中长期青年发展规划:年龄是14...   济南汉子捐髓救北京白血病患者   独臂老人打工16年 给村里修起一座桥   老人照料瘫痪妻子20年 手写8大本病历   女孩欲捐肝救母因不满18岁遭拒 盼获法外...
随机文章   js改变当前地址栏地址而不跳转   点击百度喜欢后显示内容的代码   JavaScript定时显示广告代码分享   960gs tips-辅助设计师进行快速创建网页...   javascript的字符串编码函数escape,en...
广告

其他推荐

因为本站所有内容均转载自其它媒体,本意为公众提供免费服务,但并不代表本网赞同其观点,也不能对其真实性验证负责,如稿件版权单位或个人不想在本网发布,请与我联系,本人会立即将其撤除,谢谢.联系方式:atseashawk@163.com QQ:99289555