一个简单的瀑布流效果(主体形式自写)


Posted in Javascript onMay 27, 2013

闲着没事,自己写了个瀑布流,我个人写脚本或者是网页的习惯是:只参考别人的效果,很少参考别人的代码,有时侯我宁愿用审查元素来推断代码,也不愿去看源代码。我不知道这个习惯好不好。虽然中间过程是花了我不少时间,但是我做的东西的每一个细节我都还能记清楚(当然肯定后来会忘),因为是我实现的。下面说正题:

瀑布流的主体即为几个ul标签,新增加的元素以 li的形式按照当前 ul的高度有选择性的插入到某个ul下。
主体形式如下:

<div id="main"> 
<ul class="pics"> 


<li> <div class="pic"><img /></div> <div class="content">anytext..</div> </li> 


<li><div class="pic"><img /></div> <div class="content">anytext..</div> </li> 


... 

</ul> 

<ul class="pics"> <li> <div class="pic"><img /></div> <div class="content">anytext..</div> </li> 


<li><div class="pic"><img /></div> <div class="content">anytext..</div> </li> 


... 

</ul> 

.... 
</div>

css定义如下:
.pics { 

 float:left; 


 list-style:none; 


 margin-left:10px; 


 margin-right:10px; 


 width:230px; 
} 
.pics li { 


 display:block; 


 width:100%; 


 margin:0 auto; 


 margin-bottom:10px; 


 position:relative; 


 background-color:#FFF; 


 box-shadow: 0 1px 2px 0; 


 padding-top:10px; 
} 
.pic { 


 width:92%; margin:0 auto; 


 padding-top:10px; 


 text-align:center; 


 font-size:180px; 


 background-color:#0CF; 
} 
.pic img { 


 width:100%; 


 margin:0 auto; 
} 
.content { 


 width:92%; 


 margin:0 auto; 


 padding-top:10px; 


 height:50px; 


 text-overflow:ellipsis; 


 white-space:nowrap; 


 overflow:hidden; 
}

脚本实现如下:
$(function(){ 
//alert($(window).height()); 浏览器当前窗口可视区域高度 
//alert($(document).height()); 
//浏览器当前窗口文档的高度 alert($(document.body).height()); 
//浏览器当前窗口文档body的高度 alert($(document.body).outerHeight(true)); 
//浏览器当前窗口文档body的总高度 包括border padding margin alert($(window).width()); 
//浏览器当前窗口可视区域宽度 alert($(document).width()); 
//浏览器当前窗口文档对象宽度 alert($(document.body).width()); 
//浏览器当前窗口文档body的高度 alert($(document.body).outerWidth(true)); 
//浏览器当前窗口文档body的总宽度 包括border padding margin 
$(document).scroll(function(){ 
var pics=$(".pics"); 
var sc=$(document).scrollTop(); 
$("#float").text(sc); 
for(var i=0;i<pics.length;i++){ 
var pic=pics.eq(i); 
var bottom =pic.offset().top+pic.height(); 
if((sc+$(window).height())>=bottom){ 
eval( "var word=" + '"\\u' + (Math.round(Math.random() * 20901) + 19968).toString(16)+'"'); 
var li="<li> <div class='pic'>"+word+"</div><div class='content'>梦里过客笑眼望,望回廊,秋螽藏</div></li>"; 
pic.append(li); 
} 
} 
}); 
});

这样做基本实现了最简单的一个瀑布流,但是脚本中并没有考虑内存消耗,即无限加载的问题。现在我也没搞懂,以后再完善吧 。
来看效果:
一个简单的瀑布流效果(主体形式自写)
Javascript 相关文章推荐
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 Javascript
心扬JS分页函数代码
Sep 10 Javascript
jquery动态添加option示例
Dec 30 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
Jan 09 Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
半个小时学json(json传递示例)
Dec 25 Javascript
SVG描边动画
Feb 23 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
Mar 15 Javascript
p5.js临摹动态图形的方法
Oct 23 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 Javascript
jquery实现的一个导航滚动效果具体代码
May 27 #Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
May 27 #Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 #Javascript
jQuery函数的等价原生函数代码示例
May 27 #Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
May 26 #Javascript
jQuery动态地获取系统时间实现代码
May 24 #Javascript
JavaScript事件处理器中的event参数使用介绍
May 24 #Javascript
You might like
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
学习ExtJS border布局
2009/10/08 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python创建xml文件示例
2017/03/22 Python
python如何爬取个性签名
2018/06/19 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python爬取内容存入Excel实例
2019/02/20 Python
Python地图绘制实操详解
2019/03/04 Python
详解Python:面向对象编程
2019/04/10 Python
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
网络工程系信息安全技术专业大学生求职信
2013/10/22 职场文书
导游的职业规划书范文
2013/12/27 职场文书
社区母亲节活动总结
2015/02/10 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
Python turtle实现贪吃蛇游戏
2021/06/18 Python